Ruby 101: Estruturas de Dados

TK
TK
Aug 24, 2017 · 4 min read

Part II: Array, Hash & Iteração em estruturas de dados


Esse é a segunda parte da série Beautiful Ruby series by Tk. Se você é um dev iniciante aprendendo Ruby, comece pela parte I dessa série. A primeira parte aprendemos sobre a história do Ruby & os básicos como variáveis, Controle de Fluxo (is-else) e looping.


Nessa segunda parte, vamos falar sobre Estruturas de Dados em Ruby, como elas funcionam e como iteramos sobre elas.

Array: Coleção | Lista | Estrutura de Dados

Imagine que você queira armazenar um número inteiro 1 numa variável. Mas talvez agora você queira armazenar outro também: 2. E 3, 4, 5 …

Nós temos um outro jeito de armazenar inteiros sem ser milhões de variáveis? Se eu estou perguntando, provavelmente temos outra forma de armazenarmos.

Array é uma lista que podemos armazenar uma coleção de valores (como esses número inteiros que queríamos). Vamos usá-lo!

É bem simples! Criamos um array e armazenando no my_integer.

Mas você deve estar se perguntando: “Como consigo pegar um valor desse array?”

Boa pergunta! Array tem o conceito de índices. O primeiro elemento do array tem índice 0 (zero). O secundo é 1, e assim por diante. Você sacou a ideia!

Para entender melhor como cada índice aponta para seu elemento no array, vamos desenhá-lo?

Usando a sintaxe do Ruby agora. É bem simples de entender como funciona!

Armazenamos a lista de inteiros no my_integers, e printamos os índices 0, 1 e 4, que nos dá os elementos 5, 7 e 4.

Imagine que nós não queremos brincar com inteiros. Queremos na verdade armazenar strings. Como uma lista de nomes das pessoas da família. A minha seria assim:

Funciona da mesma forma que dos números inteiros. Nice! :)

Agora nós sabemos como os índices de array funcionam, mas precisamos entender melhor como adicionamos elementos a um array.

Os métodos mais comuns para adicionar um elemento a um array é o push e <<. Como ver como funciona:

Push é bem simples! Só precisamos passar o elemento (ex: “The Effective Engineer”) como parâmetro do método push.

<< também é super simples! Também precisamos passar o elementos como parâmetro. Mas você pode me perguntar “O método << não usa um ponto (dot notation) como outros métodos. Como ele pode ser um método também?”. Boa pergunta! :)

Escrevendo isso:

..é similar a escrever isso:

Great! :)

Bom, chega de Arrays. Bora falar de uma outra estrutura de dados.


Hash: Estrutura de Dados Chave-Valor | Dicionário

Agora sabemos como Array usam índices como número inteiros. Mas se não quisermos usar números inteiros como índices? Alguma Estrutura de Dados que suporte usar números, string e outros tipos de dados como índices.

Vamos aprender sobre a estrutura de dados Hash. Também conhecida como Hash Table, Dictionary e Hash Map. Hash é uma coleção de pares chave-valor. Parecido com isso:

Uma chave apontando para um valor. Como podemos acessar um valor do hash? Isso, você está certo… Usando a chave! Vamos tentar!

Eu criei um hash sobre mim. Meu nome, apelido & nacionalidade, e esses atributos são as chaves do hash.

Assim como aprendemos como o array usa índices para acessar seus elements, nós também usamos índices (chaves no contexto do hash) para a acessar os valores do hash.

No exemplo à cima printamos a frase sobre mim usando todos os valores armazenados no hash. Bem simples!

Outra coisa legal de hashes é que podemos usar valores de qualquer tipo de dado. No hash criado, quero adicionar uma chave “age” e um valor inteiro.

O par chave (“age”) valor (24) usando string como chave e inteiro como valor.

Assim como fizemos com arrays, vamos aprender a adicionar elementos ao hash. O par chave-valor é a grande sacada de como o hash funciona.

Só precisamos atribuir um valor a uma chave do hash. Valor 24 para a chave “age”. Nada complicado né?! :)


Iteração: Looping + Estrutura de Dados

Assim como aprendemos no Ruby Basics, a interação sobre arrays é bem simples. Nós, Ruby devs, usamos comumente o iterador each! Bora usar!

Então o iterador each funciona passando o elemento do array como parâmetro para o bloco. Para cada elemento, nós printamos.

Para o hash, também podemos usar o iterador each, mas passando 2 parâmetros: a chave & o valor.

Esse é um exemplo de como podemos usá-lo. Nomeamos os 2 parâmetros como key e value, mas não é necessário nomear dessa forma. Podemos nomear de qualquer forma que quisermos. Bora ver isso!

Agora nomeamos a chave do hash como attribute, e funciona como esperado! Nice!


That’s it!

Aprendemos muitas coisas sobre o Estruturas de dados do Ruby:

  • Array: Coleção| Lista de elementos

Espero que tenham curtido o conteúdo e aprendido um pouco mais sobre como Ruby funciona. Se ainda não viu o primeiro post da série, aprendemos sobre o básico de Ruby.

Continue aprendendo e programando!

Meu Twitter & Github. ☺

Training Center

Conectamos pessoas que querem aprender algo relacionado a desenvolvimento de software com gente que pode guiá-las.

)

TK

Written by

TK

Site http://bit.ly/tk-site — Building things on http://bit.ly/github-tk

Training Center

Conectamos pessoas que querem aprender algo relacionado a desenvolvimento de software com gente que pode guiá-las.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade