Menu
CoddyTech

Métodos de Hash

Parte de la sección Fundamentos del Journey de Ruby de Coddy. Lección 76 de 88.

Ruby proporciona varios métodos integrados que te ayudan a inspeccionar y trabajar con hashes de forma más eficaz. Estos métodos te permiten acceder rápidamente a información sobre el contenido de tu hash.

El método keys devuelve un arreglo con todas las claves del hash:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person.keys  # Muestra name, age y city, cada uno en su propia línea

Del mismo modo, el método values devuelve un arreglo con todos los valores:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person.values  # Muestra Alice, 25 y Paris, cada uno en su propia línea

Para comprobar si existe una clave específica, usa key? o su alias has_key?:

person = {"name" => "Alice", "age" => 25}

puts person.key?("name")     # Imprime: true
puts person.key?("country")  # Imprime: false

El método length te indica cuántos pares clave-valor contiene el hash:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person.length  # Imprime: 3

Por último, empty? comprueba si el hash tiene algún par:

data = {}
puts data.empty?  # Salida: true
challenge icon

Desafío

Fácil

Lee dos líneas de entrada:

  1. Un hash representado como pares clave-valor separados por comas, con el formato key:value (p. ej., name:Alice,age:25,city:Paris)
  2. Una clave cuya existencia se debe comprobar (cadena)

Analiza la primera entrada para crear un hash y, después, usa los métodos de hash que has aprendido para mostrar la siguiente información, cada elemento en su propia línea:

  1. Muestra cada clave del hash (una por línea)
  2. Muestra --- como separador
  3. Muestra cada valor del hash (uno por línea)
  4. Muestra --- como separador
  5. Muestra el número de pares clave-valor del hash
  6. Muestra --- como separador
  7. Muestra true o false para indicar si el hash está vacío
  8. Muestra --- como separador
  9. Muestra true o false para indicar si la clave de la segunda entrada existe en el hash

Por ejemplo, si las entradas son name:Alice,age:25,city:Paris y age, la salida debería ser:

name
age
city
---
Alice
25
Paris
---
3
---
false
---
true

Si las entradas son product:Laptop,price:999 y stock, la salida debería ser:

product
price
---
Laptop
999
---
2
---
false
---
false

Si las entradas son status:active y status, la salida debería ser:

status
---
active
---
1
---
false
---
true

Pruébalo tú mismo

# Lee la entrada
input_string = gets.chomp
key_to_check = gets.chomp

# Analiza la cadena de entrada para crear un hash
hash = {}
input_string.split(',').each do |pair|
  key, value = pair.split(':')
  hash[key] = value
end

# TODO: Escribe tu código a continuación
# Usa los métodos de hash para:
# 1. Imprimir cada clave (una por línea)
# 2. Imprimir "---" como separador
# 3. Imprimir cada valor (uno por línea)
# 4. Imprimir "---" como separador
# 5. Imprimir el número de pares clave-valor
# 6. Imprimir "---" como separador
# 7. Imprimir true/false si hash está vacío
# 8. Imprimir "---" como separador
# 9. Imprime true/false según si key_to_check existe en hash
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Ruby online