Menu
Coddy logo textTech

Acceder a elementos del Hash

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

Ahora que sabes cómo crear hashes, necesitas recuperar los valores almacenados dentro de ellos. A diferencia de los arreglos donde usas índices numéricos, los hashes usan claves para acceder a sus valores.

Coloca la key dentro de corchetes para obtener su valor correspondiente:

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

puts person["name"]  # Salida: Alice
puts person["age"]   # Salida: 25

La clave debe coincidir exactamente con la que usaste al crear el hash. Si intentas acceder a una clave que no existe, Ruby devuelve nil:

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

puts person["country"]  # Salida: (nada - nil)

También puedes usar el método fetch, el cual te permite proporcionar un valor predeterminado cuando falta la clave:

person = {"name" => "Alice"}

puts person.fetch("name", "Unknown")     # Salida: Alice
puts person.fetch("country", "Unknown")  # Salida: Unknown

Esto es útil cuando quieres gestionar las claves que faltan correctamente en lugar de obtener nil.

challenge icon

Desafío

Fácil

Lee cuatro líneas de entrada:

  1. Un nombre de producto (cadena)
  2. Un precio (flotante)
  3. Una cantidad disponible en stock (entero)
  4. Una clave que buscar (cadena)

Crea un hash llamado product con los siguientes pares clave-valor:

  • "name" asignada al nombre del producto
  • "price" asignada al precio (como flotante)
  • "stock" asignada a la cantidad (como entero)

Después, usa el método fetch para recuperar el valor de la clave proporcionada en la cuarta entrada. Si la clave no existe, usa "<code>Not found" como valor predeterminado. Imprime el resultado.

Por ejemplo, si las entradas son Laptop, 999.99, 15 y price, la salida debería ser:

999.99

Si las entradas son Keyboard, 49.99, 100 y name, la salida debería ser:

Keyboard

Si las entradas son Mouse, 29.99, 50 y color, la salida debería ser:

Not found

Si las entradas son Monitor, 299.0, 8 y stock, la salida debería ser:

8

Pruébalo tú mismo

# Leer entrada
product_name = gets.chomp
price = gets.chomp.to_f
quantity = gets.chomp.to_i
key_to_lookup = gets.chomp

# TODO: Escribe tu código debajo
# Crea un hash llamado 'product' con las claves "name", "price" y "stock"
# Luego usa el método fetch para recuperar el valor de key_to_lookup
# Usa el texto exacto de las instrucciones como valor predeterminado si la clave no existe


# Mostrar el resultado
puts result
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