English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tipos de Dados Ruby

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.

Number

Integer

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.

Exemplo Online

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

ponto flutuante

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.

Exemplo Online

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

operações aritméticas

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

Exemplo Online

#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

tipo de string

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 \'.

Exemplo Online

#!/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.

Exemplo Online

#!/usr/bin/ruby -w
 
puts "multiplicação : #{24*60*60}";

Isso produzirá o seguinte resultado:

multiplicação : 86400

Exemplo Online

#!/usr/bin/ruby -w
 
name="Ruby" 
puts name 
puts "#{name+",ok"}"

O resultado da saída é:

Ruby
Ruby,ok

símbolos de escape

A tabela a seguir lista os símbolos de escape suportados pelo Ruby:

símbolorepresenta o caractere
\ncaractere de nova linha (0x0a)
\rcaractere de retorno (0x0d)
\fpágina de rolagem (0x0c)
\btecla de backspace (0x08)
\asinal de alerta Bell (0x07)
\esinal de escape (0x1b)
\sespaço em branco (0x20)
\nnnrepresentação octal (n é 0-7)
\xnnrepresentação hexadecimal (n é 0-9、a-f ou A-F)
\cx, \C-xControle-x
\M-xMeta-x (c | 0x80)
\M-\C-xMeta-Controle-x
\xcaractere x

Para saber mais detalhes sobre Ruby strings, consulte Ruby string (String).

array

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)

Exemplo Online

#!/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).

tipo de hash

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.

Exemplo Online

Exemplo Online

#!/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.

Tipo de Intervalo

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 .

Exemplo Online

#!/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.