English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Nesta seção, vamos apresentar os tipos de dados básicos do Ruby.
Os tipos de dados suportados pelo Ruby incluem os básicos Number, String, Ranges, Symbols, e os valores especiais true, false e nil, além de duas estruturas de dados importantes - Array e Hash.
Os tipos inteiros têm dois tipos, se em31bits (quatro bytes), isso é um exemplo de Fixnum. Se exceder, é um exemplo de Bignum.
O intervalo de inteiros vai de -230 até 230-1neste intervalo, os inteiros são classes Fixnum objeto, quando o valor inteiro for maior ou igual a2do3potência zero ( -262 até 262-1será automaticamente convertido para o tipo Bignum.
Você pode usar um caractere de sinal de prefixo opcional antes do número inteiro, um índice de base opcional (0 para octal, 0x para hexadecimal, 0b para binário), seguido de uma sequência de dígitos. O caractere sublinhado é ignorado na string de números.
Você pode obter o valor inteiro de um caractere ASCII ou de uma sequência de escape marcada por interrogação.
123 #Fixnum Decimal 1_234 #Fixnum Decimal com sublinhado -500 # Fixnum negativo 0377 #Octal 0xff # Hexadecimal 0b1011 #Binário "a".ord # Codificação do caractere "a" ?\n # Codificação do caractere de nova linha (0x0a) 12345678901234567890 # Número grande #Inteiro Integer A seguir estão alguns literais de inteiro #Literal (literal): qualquer valor visível no código, valor numérico, valor bool, string, etc., é chamado de literal #Como o 0 a seguir1_000_000,0xa, etc a1=0 #Número inteiro com separador de milhares a2=1_000_000 #Representação de outros sistemas de numeração a3=0xa puts a1,a2 puts a3 #puts print são para imprimir caracteres no console, onde puts adiciona quebra de linha =begin Este é um comentário, chamado de: comentário de documentação embebido semelhante ao C#/**/ =end
Ruby suporta números de ponto flutuante. Eles são números com casa decimal. Os números de ponto flutuante são da classe Float do objeto, e pode ser qualquer um dos seguintes.
123.4 #Valor de ponto flutuante 1.0e6 #Notação científica 4E20 # Não obrigatório 4e+20 # Símbolo opcional antes do expoente #Tipo de ponto flutuante f1=0.0 f2=2.1 f3=1000000.1 puts f3
operadores de adição, subtração, multiplicação e divisão:+-*/;o operador de exponenciação é**
O expoente não precisa ser um inteiro, por exemplo
#Aritmética exponencial puts 2**(1/4)1com4a divisão por 0, então2a potência de 0 é1 puts 16**(1/4a divisão por .0)1com4a divisão por .0 resulta em 0.25depois de levantar o quadrado raiz
Em resumo, uma string Ruby é uma 8 uma sequência de bytes, que são objetos da classe String.
As strings delimitadas por aspas duplas permitem substituição e uso de caracteres de escape, enquanto as strings delimitadas por aspas simples não permitem substituição e só permitem o uso dos dois caracteres de escape \\ e \'.
#!/usr/bin/ruby -w puts 'escape using \ puts 'That\'s right';
Isso produzirá o seguinte resultado:
escape using \ That's right
Você pode usar uma sequência #{ expr } substituir o valor de qualquer expressão Ruby por uma string. Aqui, expr pode ser qualquer expressão Ruby.
#!/usr/bin/ruby -w puts "multiplicação : #{24*60*60}";
Isso produzirá o seguinte resultado:
multiplicação : 86400
#!/usr/bin/ruby -w name="Ruby" puts name puts "#{name+",ok"}"
O resultado da saída é:
Ruby Ruby,ok
A tabela a seguir lista os símbolos de escape suportados pelo Ruby:
símbolo | representa o caractere |
---|---|
\n | caractere de nova linha (0x0a) |
\r | caractere de retorno (0x0d) |
\f | página de rolagem (0x0c) |
\b | tecla de backspace (0x08) |
\a | sinal de alerta Bell (0x07) |
\e | sinal de escape (0x1b) |
\s | espaço em branco (0x20) |
\nnn | representação octal (n é 0-7) |
\xnn | representação hexadecimal (n é 0-9、a-f ou A-F) |
\cx, \C-x | Controle-x |
\M-x | Meta-x (c | 0x80) |
\M-\C-x | Meta-Controle-x |
\x | caractere x |
Para saber mais detalhes sobre Ruby strings, consulte Ruby string (String).
o literal de array é definido dentro de [] com vírgulas separando os elementos, e suporta definição de faixa.
(1) o array é acessado através de índices []
(2) elementos são inseridos, removidos ou substituídos através de operações de atribuição
(3)+operação de junção e exclusão de elementos, e o conjunto é apresentado como um novo conjunto
(4) elementos são adicionados ao array original através do sinal <<
(5)*número repetido de elementos de array
(6) operações de união e interseção são feitas através dos símbolos | e & (atenção à ordem)
#!/usr/bin/ruby ary = [ "fred", 10, 3.14, "Este é uma string", "último elemento", ] ary.each faça |i| puts i end
Isso produzirá o seguinte resultado:
fred 10 3.14 Este é uma string último elemento
Para saber mais detalhes sobre Ruby arrays, consulte Ruby array (Array).
Ruby hash é uma série de chaves colocadas dentro de chaves./par de valores, chave e valor são separados por vírgula e sinal de seta =>. A vírgula no final será ignorada.
#!/usr/bin/ruby hsh = cores = { "vermelho" => 0xf00, "verde" => 0x0f0, "azul" => 0x00f } hsh.each faça |chave, valor| imprimir chave, "", é, valor, "\n" end
Isso produzirá o seguinte resultado:
vermelho é 3840 verde é 240 azul é 15
Para obter mais detalhes sobre o hash Ruby, consulte Hash (Hash) Ruby.
Um intervalo representa um intervalo.
Os intervalos são representados por um valor de início e um valor de fim. Os intervalos podem ser construídos usando s..e e s...e, ou usando Range.new.
Os intervalos construídos com .. começam no valor de início e terminam no valor de fim (inclusivo). Os intervalos construídos com ... começam no valor de início e terminam no valor de fim (exclusivo). Quando usados como iteradores, os intervalos retornam cada valor da sequência.
intervalo (1..5) significa que ele contém valores 1, 2, 3, 4, 5,intervalo (1...5) significa que ele contém valores 1, 2, 3, 4 .
#!/usr/bin/ruby (10..15).each do |n| print n, ' ' end
Isso produzirá o seguinte resultado:
10 11 12 13 14 15
Para obter mais detalhes sobre o intervalo Ruby, consulte Intervalo (Range) Ruby.