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 key debe coincidir exactamente con lo que usaste al crear el hash. Si intentas acceder a una key que no exist, 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 deseas manejar keys faltantes de manera elegante en lugar de obtener nil.

challenge icon

Desafío

Fácil

Lee cuatro líneas de entrada:

  1. Un nombre de producto (cadena de texto)
  2. Un precio (número flotante)
  3. Una cantidad en stock (entero)
  4. Una clave a buscar (cadena de texto)

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

  • "name" mapeado al nombre del producto
  • "price" mapeado al precio (como número flotante)
  • "stock" mapeado a la cantidad (como entero)

Después, usa el método fetch para obtener el valor correspondiente a la clave proporcionada en la cuarta entrada. Si la clave no existe, usa "<code>Not found" como el 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