Usando matriz e de hash embutido e métodos relacionados
Ruby tem muitas classes internas, mas talvez os objetos mais úteis usados para a realização de outros dados são a matriz classes contêineres e Hash. Você pode economizar muito tempo de codificação se você lembrar que cada uma dessas classes tem muitos métodos úteis para acessar e manipular os seus conteúdos.
noções básicas de matriz
Usar matrizes para listas de informação que você deseja manter em ordem. Criar uma nova matriz vazia com colchetes vazios [] e uma matriz com conteúdos, colocando-os entre os colchetes, separados por vírgulas:
empty_array = [] my_array = ["vermelho", "verde", "azul"]
itens de acesso em uma matriz usando o índice (posição) do produto, a partir da primeira posição, cujo número é igual a zero (0):
2.1.2: 009 gt; my_array = ["vermelho", "verde", "azul"] = gt; ["vermelho", "verde", "azul"] 2.1.2: 010 gt; coloca my_array [0] red
| Nome do método | propósito | 
|---|---|
| my_array [1] | Acede a matriz em my_array em índice 1  | 
| comprimento | Retorna o comprimento da matriz | 
| lt; lt ;, impulso | Adiciona um objecto na extremidade da matriz | 
| estouro | Remove um objecto na extremidade da matriz | 
| inserir | Adiciona um objecto no início da matriz | 
| mudança | Remove um objecto no início da matriz | 
| ordenar | Classifica a matriz | 
| embaralhar | Randomizes posições dos objectos no conjunto | 
| amostra | Pega um objeto aleatório a partir da matriz | 
| cada | Laços sobre a matriz, retornando cada elemento | 
| Junte-se | Combina cada elemento em uma string | 
noções básicas de hash
Use hashes quando você tem informações que você quer ser capaz de olhar para cima pelo nome (como um livro de contato), ea ordem não é necessariamente importante. Criar um novo hash com chaves vazias {} e um novo hash com conteúdo, proporcionando um valor de chave e separados por “foguetes de hash” (= Gt;), E cada par de chave / valor separados por vírgulas:
2.1.2: 018 gt; empty_hash = {} = gt; {} 2.1.2: 019 gt; contact_hash = {"mamãe" = Gt; 1234, "Papai" = Gt; 4567} = gt; {"mamãe"= Gt; 1234, "Papai"= Gt; 4567}| Nome do método | propósito | 
|---|---|
| contact_hash [ “mãe”] | Acede o hash no contact_hash variável usando tecla "mamãe" e retorna seu valor  | 
| contato_de hash [ “SIS”] = 7878  | Adiciona um novo valor para o hash armazenado na contact_hash variável usando tecla “sis“ | 
| comprimento | Retorna quantos pares de chave / valor são armazenados no hash | 
| incluir? | Verifica se existe uma tecla no hash | 
| chaves | Retorna uma matriz de todas as chaves no hash | 
| valores | Devolve uma matriz de todos os valores no hash | 
| vazio? | Retorna true se o hash está vazio | 
| cada | Loops sobre cada par chave / valor no hash, retornando cada par  | 
| fundir | Combina dois guisados em uma mistura, possivelmente substituindo o primeiro de hash&chaves rsquo-s com a segunda de hash&chaves rsquo-s  | 
