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 manera más efectiva. Estos métodos te brindan acceso rápido a información sobre el contenido de tu hash.
El método keys devuelve un array de todas las claves en el hash:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.keys # Salida: name, age, cityDe manera similar, el método values devuelve un arreglo de todos los valores:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.values # Salida: Alice, 25, ParisPara comprobar si existe una clave específica, utiliza key? o su alias has_key?:
person = {"name" => "Alice", "age" => 25}
puts person.key?("name") # Salida: true
puts person.key?("country") # Salida: falseEl método length te indica cuántos pares clave-valor contiene el hash:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.length # Salida: 3Finalmente, empty? comprueba si el hash tiene algún par:
data = {}
puts data.empty? # Salida: trueDesafío
FácilLee dos líneas de entrada:
- Un hash representado como pares clave-valor separados por comas en el formato
key:value(por ejemplo,name:Alice,age:25,city:Paris) - Una clave para verificar su existencia (cadena de texto)
Analiza la primera entrada para crear un hash, luego utiliza los métodos de hash que aprendiste para mostrar la siguiente información, cada una en su propia línea:
- Imprime cada clave en el hash (una por línea)
- Imprime
---como separador - Imprime cada valor en el hash (una por línea)
- Imprime
---como separador - Imprime el número de pares clave-valor en el hash
- Imprime
---como separador - Imprime
trueofalseindicando si el hash está vacío - Imprime
---como separador - Imprime
trueofalseindicando 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
---
trueSi las entradas son product:Laptop,price:999 y stock, la salida debería ser:
product
price
---
Laptop
999
---
2
---
false
---
falseSi las entradas son status:active and status, la salida debería ser:
status
---
active
---
1
---
false
---
trueHoja de referencia
Ruby proporciona métodos integrados para inspeccionar y trabajar con hashes:
El método keys devuelve un array de todas las claves:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.keys # Salida: name, age, cityEl método values devuelve un array de todos los valores:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.values # Salida: Alice, 25, ParisEl método key? (o su alias has_key?) comprueba si existe una clave específica:
person = {"name" => "Alice", "age" => 25}
puts person.key?("name") # Salida: true
puts person.key?("country") # Salida: falseEl método length devuelve el número de pares clave-valor:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.length # Salida: 3El método empty? comprueba si el hash tiene algún par:
data = {}
puts data.empty? # Salida: truePruébalo tú mismo
# Leer entrada
input_string = gets.chomp
key_to_check = gets.chomp
# Analizar 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 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 el hash está vacío
# 8. Imprimir "---" como separador
# 9. Imprimir true/false si key_to_check existe en el hashEsta 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ámica3Operadores 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