Arrays e Hashes
Arrays
Arrays (vetores) podem ser usados para muitas coisas. Ao contrário de
arrays "comuns", de tamanho fixo, como são encontrados em muitas linguagens,
arrays em Ruby têm tamanho dinâmico. E além de arrays, também podem ser usados,
por exemplo, em substituição a listas e pilhas, em muitos casos. Podem ser
criados com uma expressão de array, que é uma lista de expressões separadas por
vírgulas, entre os símbolos [], da seguinte forma:
a = [ 1, 2, 1+2 ] # >> [1, 2, 3]
Ou também explicitamente, usando os métodos da classe Array:
a = Array.new a << 1 << 2 << 1+2 # >> [1, 2, 3] b = Array[1, 2, 1+2] # usando o método [] da classe Array
Por Ruby ser uma linguagem dinâmica, arrays podem conter qualquer objeto.
Hashes
Hashes (tabelas associativas) são muito parecidos com arrays, mas têm
objetos como índice. Um Hash apenas com índices numéricos é
praticamente equivalente a um Array. Podem ser criados com uma
"expressão de hash", que é uma lista de pares índice => valor,
separados por vírgulas, entre os símbolos {}, da seguinte
forma:
h = { "a"=>"letra a", "1+1"=>1+1 } # >> {"1+1"=>2, "a"=>"letra a"}
Ou também explicitamente, usando os métodos da classe Hash:
a = Hash.new b = Hash["a",1 , "b",2 , "c",1+2] # usando o método [] da classe Hash