Paulo Silva

March 7, 2025

Arrays: Guardar múltiplos valores

Até agora, temos trabalhado com variáveis que guardam um único valor. Mas e se quisermos guardar vários valores juntos? Para isso, usamos arrays!

Criar um array

Um array é uma lista de valores. Podemos criá-lo assim:

numeros = [1, 2, 3, 4, 5]
nomes = ["Ana", "Bruno", "Carlos"]

Aqui temos um array de números e outro de nomes.


Aceder a elementos de um array

Cada elemento num array tem um índice, que começa em 0.

nomes = ["Ana", "Bruno", "Carlos"]
puts nomes[0] # Ana
puts nomes[1] # Bruno
puts nomes[2] # Carlos


Adicionar e remover elementos

Podemos adicionar elementos com .push e remover com .pop.

frutas = ["maçã", "banana"]
frutas.push("laranja") # Adiciona "laranja"
puts frutas.inspect # ["maçã", "banana", "laranja"]

frutas.pop # Remove o último elemento
puts frutas.inspect # ["maçã", "banana"]


Percorrer um array

Podemos usar um loop para percorrer um array e realizar uma ação com cada elemento.

numeros = [1, 2, 3, 4, 5]
numeros.each do |num|
  puts "Número: #{num}"
end

O que acontece aqui?

  • .each: Este é um método que diz ao Ruby para passar por cada elemento do array, um por um.
  • do |num|: A palavra-chave do começa um bloco de código. O |num| cria uma variável chamada num que vai receber o valor de cada item do array durante a iteração.
  • puts "Número: #{num}": Dentro do bloco, estamos a imprimir o número atual, substituindo #{num} pelo valor do elemento.

Assim, o Ruby percorre o array e executa o código dentro do bloco para cada número!


Exercício para ti!

Cria um programa que:

  1. Pede ao utilizador 3 nomes.

  2. Guarda os nomes num array.

  3. Imprime a lista de nomes.


Vamos começar a organizar o código?

Na próxima etapa, vamos aprender como usar métodos para organizar o teu código! Vamos criar mini-programas dentro do programa maior, tornando o código mais limpo e fácil de entender. 🚀

← Anterior | Próximo: 8. Métodos: Organizar o teu código →

About Paulo Silva

Software Engineer specialized in product development with Ruby on Rails. I help companies turn bright ideas into amazing digital products — I've worked on InvoiceXpress, ClanHR, Today and currently sheerME.