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.