Los Hashes en Ruby

Los hashes son estructuras de datos que permiten almacenar pares clave-valor. Son una herramienta fundamental en Ruby para trabajar con datos de forma organizada y eficiente.

Creación y acceso a valores: Link to heading

  • Se pueden crear utilizando llaves y separando los pares por comas.
  • El tamaño del hash se puede obtener con el método size.
  • Se puede acceder a los valores por su clave.

Ejemplos: Link to heading

capitales = { }

capitales.class # => Hash

capitales = { "Colombia" => "Bogotá" }

# Agregar un valor nuevo
capitales["Mexico"] = "Ciudad de Mexico"

puts capitales # => { "Colombia" => "Bogotá", "Mexico" => "Ciudad de Mexico" }

# Acceder a un valor especifico
capitales["Colombia"] # => "Bogotá"

capitales.size # => 2

capitales.empty? # => false

capitales.has_value? "Colombia" # => false

capitales.has_key? "Colombia" # => true

# Invertir el hash (convertir valores a llaves/keys)
capitales.invert # => { "Bogotá" => "Colombia", "Ciudad de Mexico" => "Mexico" }

# Mezclar dos hashes
capitales.merge({"Brazil" => "Brasilia"}) # => {"Colombia" => "Bogotá", "Mexico" => "Ciudad de Mexico", "Brazil" => "Brasilia"}

# Transformar los valores
capitales.transform_values ​​{ |x| x.downcase } # => {"Colombia" => "bogotá", "Mexico" => "ciudad de mexico"}

# Print the content of the hash
puts capitales.map { |k, v| "La capital de #{k} es #{v}" } # La capital de Colombia es Bogotá, La capital de Mexico es Ciudad de Mexico

# Convertir un array en un hash
[["hola", 13], ["mundo", 14]].to_h # => {"hola" => 13, "mundo" => 14}

Métodos útiles: Link to heading

  • each: Recorre el hash y ejecuta un bloque de código para cada par clave-valor.
  • select: Filtra los pares clave-valor del hash y devuelve un nuevo hash con los que cumplen una condición.
  • keys: Obtiene un array con las claves del hash.
  • values: Obtiene un array con los valores del hash.

Ejemplo: Link to heading

capitales.each { |k, v| puts "La capital de #{k} es #{v}" } # La capital de Colombia es Bogotá, La capital de Mexico es Ciudad de Mexico

capitales.select { |k, v| v.length > 10 } # => {"Mexico" => "Ciudad de Mexico"}

capitales.keys # => ["Colombia", "Mexico"]

capitales.values ​​# => ["Bogotá", "Ciudad de Mexico"]

Los hashes son una herramienta poderosa para almacenar y organizar datos en Ruby. Su flexibilidad y eficiencia los convierten en una parte fundamental del lenguaje.

¡Sigue aprendiendo sobre los hashes para aprovechar al máximo las ventajas de Ruby!

<< Los Arrays en Ruby Condicionales en Ruby >>