Latest web development tutorials

tipo de dados Rubi

Este capítulo vamos apresentar rubi tipos de dados básicos.

Rubi suportados tipos de dados incluem número básico, String, Ranges, símbolos e verdadeiro, falso, e nil esses valores especiais, bem como duas estruturas de dados importantes --Array e Hash.


Tipo de valor (Number)

1, Integer (Inteiro)

Integer dois, se 31 ou menos (quatro bytes), é exemplo Fixnum. Se assim for, é exemplo Bignum.

intervalo inteiro de -2 ou -2 30-2 30-1 62-2 62-1. Integer nesta faixa é a classeFixnumobjeto inteiro armazenado fora do âmbito desta classe objetosBignum.

Você pode usar um símbolo de preâmbulo opcional na frente de um inteiro, um indicador de base opcional (0 para octal, 0x correspondem hex, 0b correspondente ao binário), seguido por uma seqüência de números. caractere sublinhado cadeia numérica são ignorados.

Você pode obter um caractere ASCII ou uma sequência de escape valor inteiro com pontos de interrogação.

Exemplos

123                  # Fixnum 十进制
1_234                # Fixnum 带有下划线的十进制
-500                 # 负的 Fixnum
0377                 # 八进制
0xff                 # 十六进制
0b1011               # 二进制
"a".ord              # "a" 的字符编码
?\n                  # 换行符(0x0a)的编码
12345678901234567890 # Bignum
#整型 Integer 以下是一些整型字面量 
#字面量(literal):代码中能见到的值,数值,bool值,字符串等都叫字面量 
#如以下的0,1_000_000,0xa等 
a1=0 

#带千分符的整型 
a2=1_000_000 

#其它进制的表示 
a3=0xa 
puts a1,a2 
puts a3 

#puts print 都是向控制台打印字符,其中puts带回车换行符 
=begin 
这是注释,称作:嵌入式文档注释 
类似C#中的/**/ 
=end 

flutuador

suporte a Ruby ponto flutuante. São números com decimais. FloatFloaté uma classe de objetos, e pode ser qualquer um dos seguintes.

Exemplos

123.4                # 浮点值
1.0e6                # 科学记数法
4E20                 # 不是必需的
4e+20                # 指数前的符号
#浮点型 
f1=0.0 
f2=2.1 
f3=1000000.1 
puts f3  

operação aritmética

operadores aritméticos: + - * /; operador índice **

Índice não precisa de ser um número inteiro, v.g.

#指数算术 
puts 2**(1/4)#1与4的商为0,然后2的0次方为1 
puts 16**(1/4.0)#1与4.0的商为0.25(四分之一),然后开四次方根 

tipo String

cadeia Ruby é simplesmente uma sequência de bytes de 8 bits, que é o objecto da corda classe.

Corda de aspas duplas e barras invertidas permitem seqüências de substituição não são permitidos para substituir as aspas simples, e só permite o uso de \\ e \ "dois barra invertida.

Exemplos

Exemplos

#! / Usr / bin / ruby ​​-w

puts 'escapar usando "\\"';
puts 'Isso \' s direito ";

Correndo instância »

Isto produz os seguintes resultados:

escape using "\"
That's right

Você pode sequenciar# {expr} é substituído com uma seqüência de expressões arbitrárias Ruby usam.Aqui, expr pode ser qualquer expressão Ruby.

#! / Usr / bin / ruby ​​-w

coloca "Multiplicação Valor: # {24 * 60 * 60}";

Isto produz os seguintes resultados:

Valor Multiplicação: 86400
#!/usr/bin/ruby -w

name="Ruby" 
puts name 
puts "#{name+",ok"}" 

A saída é:

Ruby
Ruby,ok

barra invertida

A tabela a seguir lista a barra invertida Rubi suportados:

符号表示的字符
\n换行符 (0x0a)
\r回车符 (0x0d)
\f换页符 (0x0c)
\b退格键 (0x08)
\a报警符 Bell (0x07)
\e转义符 (0x1b)
\s空格符 (0x20)
\nnn八进制表示法 (n 是 0-7)
\xnn十六进制表示法 (n 是 0-9、a-f 或 A-F)
\cx, \C-xControl-x
\M-xMeta-x (c | 0x80)
\M-\C-xMeta-Control-x
\x字符 x

Para mais detalhes sobre cordas de Ruby, consulte a Cadeia Ruby (String) .

ordem

Literal de matriz de [] para definir uma separados por vírgula, e de apoio definições alcance.

  • (1) através da matriz [] acesso do índice
  • (2) por atribuição para inserir, excluir, elemento substituir
  • (3) + - No. merge e eliminar elementos, e a coleção como uma nova coleção aparece
  • (4) por elementos de dados adicionais resolução original <<
  • (5), repetindo o número do elemento da matriz *
  • (6) | ea ampersand fazer operações de união e intersecção (observe a ordem)

exemplo:

Exemplos

#! / Usr / bin / ruby
ary = [ "fred", 10, 3,14, "Esta é uma string", "último elemento",]
ary.each fazer | i |
coloca i
final

Correndo instância »

Isto produz os seguintes resultados:

fred
10
3.14
Esta é uma string
último elemento

Para mais detalhes sobre a matriz Ruby, ver a matriz Ruby (Array) .

Tipo de Hash

Rubi hash é colocado entre chaves série de pares de chave / valor, usar vírgulas entre as chaves e valores e sequência => separação. A vírgula final é ignorado.

Exemplos

Exemplos

#! / Usr / bin / ruby

hsh = cores = { "vermelho" => 0xf00, "verde" => 0x0f0, "azul" => 0x00f}
hsh.each fazer | chave, valor |
chave de impressão, "é", valor ", \ n"
final

Correndo instância »

Isto produz os seguintes resultados:

red is 3840
green is 240
blue is 15

Para mais detalhes sobre o hash Ruby, veja o hash de Ruby (o Hash) .

Faixa Tipo

Uma gama representa uma gama.

Faixa é um valor inicial e um valor final, definindo a representar. A gama de s..e e s utilizável ... e construir, ou por Range.new construído.

Construído usando .. executado a partir do valor inicial gama de acabar valor (incluindo os valores finais). ... Construído usando uma gama prazo de valor início ao fim (valor final não está incluído). Quando usado como um iterador para usar o intervalo retornará cada valor na sequência.

Gama (1..5) significa que contém um valor de 1, 2, 3, 4, 5, gama (1 ... 5) significa que contém o valor de 1, 2, 3, 4.

Exemplos

Exemplos

#! / Usr / bin / ruby

(10..15) .each fazer | n |
print n, ''
final

Correndo instância »

Isto produz os seguintes resultados:

10 11 12 13 14 15

Para mais detalhes sobre a faixa de Ruby, ver a Faixa Ruby (o Range) .