Hash de Ruby es una estructura de datos integrada que mapea valores a claves. O(1)
- Otros lenguajes tienen muchas clases para gestionar clave/valor, pero Ruby maneja los pares clave/valor con una sola clase:
Hash
- Es una estructura de datos muy flexible, que puede usarse de muchas formas además de objeto de datos / diccionario / tabla hash / lista ordenada
- Casi cualquier objeto, incluyendo símbolos/cadenas/enteros, puede usarse como clave
- Con el método
fetch se puede establecer un valor predeterminado cuando no existe una clave
- Con
delete se puede eliminar una clave. No hay problema aunque se invoque una clave inexistente
- Permite anidamiento
- Si esa clave no existe devuelve
nil, pero se puede definir un valor predeterminado con la propiedad default
- Incluye el módulo
Enumerable, por lo que es posible iterar el hash con métodos como each, each_key, each_pair, each_value, keys, values, etc.
- Con el operador doble splat
** se puede desempaquetar el contenido del hash
- Otros métodos útiles:
any?(key), compact, empty?, merge, hash.eql? obj, except(*keys), reject, filter y select, fetch_values(*keys), has_key?, member?, include?, key?, has_value?, value?, length, size, count, slice(*keys), transform_values, flatten
9 comentarios
Me recuerda la emoción que sentí en la universidad cuando aprendí C y conocí por primera vez las listas de Python.
Intenté traducir "Swiss Army knife" como "navaja MacGyver", pero pensé que la gente de hoy quizá no lo entendería, así que lo dejé como "herramienta multiusos"..
Creo que hasta MacGyver está bien, pero si no conoces la navaja suiza, creo que va a ser difícil jajaja
Incluso yo, que estoy en mis diez, lo entendí; parece que casi no hay nadie que no lo conozca.
Vaya, qué descubrimiento tan sorprendente. De verdad pensé que no lo sabría.
Por cierto, no sabía que también había usuarios adolescentes en GeekNews... ¡qué genial!
Parece que, inesperadamente, también está aumentando la cantidad de desarrolladores adolescentes, así que da la impresión de que poco a poco también crecen los estudiantes desarrolladores que conocen GeekNews.
Yo mismo todavía era adolescente hace apenas 9 meses...
Aunque muchas personas no saben que existió una serie llamada "MacGyver", parece que aun así todos entienden la palabra "navaja suiza".
¿Ya no está bien porque ahora tiene estatus de refrán? Por lo pronto, yo, que estoy en mis 20, lo entendí :D
Ah. Si lo entiendes, ya estás certificado como tío :)