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 (arrays) donde usas índices numéricos, los hashes usan llaves (keys) para acceder a sus valores.
Coloque la clave dentro de corchetes para obtener su valor correspondiente:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person["name"] # Salida: Alice
puts person["age"] # Salida: 25La 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, que te permite proporcionar un valor por defecto cuando falta la clave:
person = {"name" => "Alice"}
puts person.fetch("name", "Unknown") # Salida: Alice
puts person.fetch("country", "Unknown") # Salida: UnknownEsto es útil cuando quieres manejar claves faltantes de manera elegante en lugar de obtener nil.
Desafío
FácilLee cuatro líneas de entrada:
- Un nombre de producto (string)
- Un precio (float)
- Una cantidad en stock (integer)
- Una clave para buscar (string)
Crea un hash llamado product con los siguientes pares clave-valor:
"name"mapeado al nombre del producto"price"mapeado al precio (como un float)"stock"mapeado a la cantidad (como un entero)
Luego, utiliza el método fetch para recuperar el valor de la clave proporcionada en la cuarta entrada. Si la clave no existe, utiliza "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.99Si las entradas son Keyboard, 49.99, 100, y name, la salida debería ser:
KeyboardSi las entradas son Mouse, 29.99, 50, y color, la salida debería ser:
Not foundSi las entradas son Monitor, 299.0, 8, y stock, la salida debería ser:
8Hoja de referencia
Para acceder a los valores en un hash, utiliza la clave dentro de corchetes:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person["name"] # Salida: Alice
puts person["age"] # Salida: 25Si una clave no existe, Ruby devuelve nil:
person = {"name" => "Alice", "age" => 25}
puts person["country"] # Salida: (nada - nil)Utiliza el método fetch para proporcionar un valor predeterminado para las claves que faltan:
person = {"name" => "Alice"}
puts person.fetch("name", "Unknown") # Salida: Alice
puts person.fetch("country", "Unknown") # Salida: UnknownPruébalo tú mismo
# Leer la 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 a continuación
# 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 "Not found" como valor predeterminado si la clave no existe
# Mostrar el resultado
puts resultEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operadores lógicos Parte 47Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario10FizzBuzz con un giro
Descripción general del juegoEl método FizzBuzz2Variables y tipos de datos
Números y variablesTipo de dato StringTipo de dato BooleanTipo de dato SymbolComprobación de tipos de datosConvenciones de nomenclaturaResumen: Creación de variables5Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleIf - Else anidadosSentencia Unless8Bucles
Bucle For con rangosBucle WhileBreakNextRepaso - FactorialBucle TimesBucle UntilBucles anidadosRepaso - Entrada dinámica11Arrays
Crear arraysAcceder a elementos de un arrayModificar arraysMétodos de arraysResumen - Array de productosResumen - Array invertidoAtajos de arrays14Hashes
Crear HashesAcceder a elementos del HashModificar HashesMétodos de HashResumen - Hash de productosSímbolos como claves de Hash3Operadores Parte 1
Operadores aritméticosOperador móduloAtajos aritméticosResumen - Matemáticas simplesOperadores de comparación6Entrada y Salida Básica
Salida con putsSalida con print y pSalida con variablesEntrada con getsMétodo chompConversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso