Continuando a série de grandes sacadas da linguagem Ruby e das coisas que realmente tornam a programação mais intuitiva, vou falar um pouco sobre como manipular listas em geral: array, lista encadeada, pilha, etc.
Primeiramente vamos pensar em uma lista genérica de elementos: 1,2,3,4,5. Para armazenar essa lista vamos usar uma variável da seguinte maneira:
lista = [1,2,3,4,5]
A variável lista agora é um objeto da classe Array que armazena uma lista de números (verifique isso usando lista.class).
Uma das operações básicas de uma lista qualquer é a sua varredura, acessar elemento por elemento e fazer alguma operação. Podemos fazer isso facilmente:
lista.each do |elem|
instruções
end
Um objeto da classe Array também pode se comportar como uma lista encadeada, a qual é dinâmica e pode ter elementos adicionados ou removidos em tempo de execução, para isso existem os seguintes métodos:
lista.insert(3,”yCode”)
[1, 2, 3, “yCode”, 4, 5]lista.delete(2)
[1,3, “yCode”, 4, 5]lista.delete_at(1)
[1, “yCode”, 4, 5]
Eu acredito que o exemplo mostra muito bem a função de cada método, mas mesmo assim vamos a uma explicação rápida: lista.insert(3,”yCode”), insere na posição 3 o objeto “yCode”, lista.delete(2), apaga o elemento 2, lista.delete_at(1), apaga o elemento na posição 1 do array.
Um objeto da classe array em Ruby ainda pode se comportar como uma pilha. Os métodos básicos de uma pilha são push e pop:
lista.pop
=> 5
[1, “yCode”, 4]lista.push(1.5)
=> [1, “yCode”, 4, 1.5]
Existem dezenas de métodos para a classe Array, além desses apresentados temos os comuns, sort, fill, clear, reverse, e outros um pouco mais complexos. Para conhecer melhor todos os métodos vale a pena dar uma olhada na documentação da linguagem no site: www.ruby-doc.org/core.
Mais uma vez espero ter mostrado como Ruby tem uma estrutura muito bem bolada e ainda ter deixado claro o quanto é intuitivo toda a versatilidade da classe Array através do uso de métodos simples porém fundamentais.
Nenhum comentário:
Postar um comentário