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
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-x | Control-x |
\M-x | Meta-x (c | 0x80) |
\M-\C-x | Meta-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
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
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
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) .