Coleções em Ruby: Arrays e Hashes | OneBitCode

Coleções em Ruby: Arrays e Hashes 📚

Quarta aula do curso de Ruby da OneBitCode

Logo da linguagem Ruby

Introdução às Coleções

Coleções são estruturas que agrupam múltiplos valores em uma única unidade. Em Ruby, as principais coleções são:

📦 Arrays

Listas ordenadas de elementos acessados por índice numérico

# Exemplo de array estados = ["São Paulo", "Rio de Janeiro", "Minas Gerais"]

🗝️ Hashes

Coleções de pares chave-valor (também chamados de dicionários)

# Exemplo de hash capitais = { "São Paulo" => "São Paulo", "Rio de Janeiro" => "Rio de Janeiro", "Minas Gerais" => "Belo Horizonte" }

Manipulação de Arrays

Adicionando Elementos

📌 push / <<

Adiciona elementos ao final do array

estados.push("Espírito Santo") estados << "Rio Grande do Sul"

🔧 insert

Insere elemento em posição específica

estados.insert(0, "Acre") # Insere no início estados.insert(2, "Bahia") # Insere na posição 2

Acessando Elementos

🔍 Por índice

Acessa elemento pela posição

estados[0] # Primeiro elemento estados[-1] # Último elemento estados[1..3] # Intervalo

🏷️ first / last

Métodos para acessar extremidades

estados.first # Primeiro elemento estados.last # Último elemento

Informações do Array

🔢 count / length

Quantidade de elementos

estados.count # Retorna 5

❓ empty? / include?

Verificações úteis

estados.empty? # false estados.include?("São Paulo") # true

Removendo Elementos

🗑️ delete_at

Remove por posição

estados.delete_at(0) # Remove "Acre"

↩️ pop / shift

Remove do final/início

estados.pop # Remove último estados.shift # Remove primeiro

Manipulação de Hashes

Criação e Adição

# Criando hash vazio capitais = {} # Adicionando elementos capitais["Acre"] = "Rio Branco" capitais["São Paulo"] = "São Paulo"

Acesso e Informações

🔑 keys / values

Lista de chaves ou valores

capitais.keys # ["Acre", "São Paulo"] capitais.values # ["Rio Branco", "São Paulo"]

📏 size / empty?

Tamanho e verificação

capitais.size # 2 capitais.empty? # false

Remoção de Elementos

capitais.delete("Acre") # Remove o par "Acre"=>"Rio Branco"

Iterações em Coleções

🔄 each

Executa bloco para cada elemento

# Array estados.each { |estado| puts estado } # Hash capitais.each { |estado, capital| puts "#{capital} é capital de #{estado}" }

🔄 map / collect

Transforma elementos em novo array

numeros = [1, 2, 3] dobrados = numeros.map { |n| n * 2 } # [2, 4, 6] # Versão que modifica original numeros.map! { |n| n * 2 }

🔍 select / find_all

Filtra elementos por condição

# Array pares = [1, 2, 3, 4].select { |n| n.even? } # [2, 4] # Hash grandes = capitais.select { |estado, capital| estado.length > 5 }

🎯 Desafios Práticos

  1. Crie um array com 3 números e exiba cada um elevado ao quadrado
  2. Crie um hash que armazene 3 pares chave-valor (nome-idade) e exiba frases formatadas
  3. Dado um hash de produtos e preços, encontre e exiba o produto mais caro

Compartilhe suas soluções nos comentários!

Próximos Passos

Na próxima aula, exploraremos:

  • Criação e uso de métodos em Ruby
  • Organização de código com métodos
  • Introdução a Gems (bibliotecas Ruby)
  • Como instalar e usar Gems populares

© 2023 OneBitCode - Todos os direitos reservados

Transformando iniciantes em desenvolvedores profissionais

Postar um comentário

0 Comentários