Frankyston Lins
Frankyston Lins Desenvolvedor Ruby on Rails, gosto de games e tocar violão nas horas vagas.

Como criar Arrays no Ruby

Como criar Arrays no Ruby

Uma matriz é uma estrutura de dados que representa uma lista de valores, denominados elementos.

Arrays permitem armazenar vários valores em uma única variável. Isso pode condensar e organizar seu código, tornando-o mais legível e sustentável. E como os arrays são objetos com seus próprios métodos, eles podem tornar o trabalho com listas de dados muito mais fácil.

No Ruby você pode ter vários tipos de dados em um Array, como números, strings e objetos.

Algumas maneiras de criar arrays

Usando []
1
2
3
4
5
6
cities = [
  "São Paulo",
  "Rio de Janeiro",
  "Fortaleza",
  "Curitiba"
]

Observe que você tem uma variável que contém todos as cidades. Neste exemplo, usamos colchetes - [] - para criar um array e separamos cada entrada com uma vírgula.

Usando %w{}

Se você quiser criar um array onde cada entrada é uma única palavra, você pode usar a sintaxe %w{}, que cria um array de palavras:

1
days = %w{Monday Tuesday Wednesday Thursday Friday Saturday Sunday}

A forma anterior é equivalente ao código abaixo:

1
days =  ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]

Observe que o método %w{} permite ignorar as aspas e as vírgulas.

Os arrays costumam ser usados para agrupar listas de tipos de dados semelhantes, mas, em Ruby, os arrays podem conter qualquer valor ou uma combinação de valores, incluindo outros arrays. Aqui está um exemplo de uma matriz que contém uma string, um valor nulo, um inteiro e uma matriz de strings:

1
2
3
4
5
6
7
8
9
record = [
    "João",
    null,
    7,
    [
        "Jogos",
        "Praia",
    ]
]
Acessando dados do Array

Antes de mais nada, saiba que arrays em ruby é base zero, isso significa que o primeiro elemento tem o indíce 0, o segundo elemento tem indíce 1 e assim por diante. Veja um exemplo:

1
fruits = ["apple", "banana", "orange"]

Para mostrar a primeira fruta podemos fazer de algumas formas:

1
2
puts fruits[0]
# apple

Podemos usar alguns métodos que o Ruby nos dá automaticamente:

1
2
3
4
5
puts fruits.first
# apple

puts fruits.last
# orange

Assim como o first pega o primeiro elemento e o last pega o último, você pode colocar -1 para pegar o último elemento.

1
2
puts fruits[-1]
# orange

Se quizer descobrir qual é o indice de algum elemento você pode usar o método index.

1
2
puts fruits.index('banana')
# 1

Adicionado elementos no Array

Vamos usar o mesmo exemplo das frutas

1
fruits = ["apple", "banana", "orange"]

Para adicionar uma nova fruta basta indicar o seu indíce e atribuir o seu valor.

1
fruits[3] = "melon"

Outra alternativa para adicionar um novo elemento é usar o <<.

1
fruits << 'pear'

Podemos usar o unshift para adicionar um novo elemento no inicio do nosso array.

1
2
fruits.unshift('strawberry')
# fruits = ["strawberry", "apple", "banana", "orange", "melon", "pear"]
Removendo elementos do Array

Para remover um elemento específico de um array, use os métodos delete ou delete_at, pop e shift.

O delete_at você precisa informar o indíce do elemente que deseja remover.

1
2
fruits.delete_at(4)
# melon

O delete você precisa informar o valor do elemento para remover do array.

1
2
sharks.delete("banana")
# banana

O pop você remover o último elemento do Array.

1
2
sharks.pop
# pear

O shift você remover o primeiro elemento do Array.

1
2
sharks.shift
# apple
Interando em um Array

Para interar dinamicamente em um array podemos usar o for .. in e each.

Em breve irei fazer um post explicando cara um deles detalhadamente.

1
2
3
4
5
6
7
8
sharks = ["Hammerhead", "Great White", "Tiger", "Whale"]
for shark in sharks do
  puts shark
end

sharks.each do |shark|
  puts shark
end

Bom, é isso, qualquer dúvida comente abaixo.

Até o próximo post.

comments powered by Disqus