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: 25La 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: UnknownEsto es útil cuando deseas manejar keys faltantes de manera elegante en lugar de obtener nil.
Desafío
FácilLee cuatro líneas de entrada:
- Un nombre de producto (cadena de texto)
- Un precio (número flotante)
- Una cantidad en stock (entero)
- 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.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:
8Prué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 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 falsoPractica por tu cuenta: Compilador de Ruby online