6 puntos por xguru 2023-08-23 | 9 comentarios | Compartir por WhatsApp
  • 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

 
joyfui 2023-08-23

Me recuerda la emoción que sentí en la universidad cuando aprendí C y conocí por primera vez las listas de Python.

 
xguru 2023-08-23

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"..

 
roxie 2023-08-27

Creo que hasta MacGyver está bien, pero si no conoces la navaja suiza, creo que va a ser difícil jajaja

 
pribess 2023-08-23

Incluso yo, que estoy en mis diez, lo entendí; parece que casi no hay nadie que no lo conozca.

 
xguru 2023-08-23

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!

 
antegral 2023-08-24

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...

 
depth221 2023-08-23

Aunque muchas personas no saben que existió una serie llamada "MacGyver", parece que aun así todos entienden la palabra "navaja suiza".

 
annyeong 2023-08-23

¿Ya no está bien porque ahora tiene estatus de refrán? Por lo pronto, yo, que estoy en mis 20, lo entendí :D

 
eususu 2023-08-23

Ah. Si lo entiendes, ya estás certificado como tío :)