- Le
Hash de Ruby est une structure de données intégrée qui associe des valeurs à des clés. O(1)
- D’autres langages disposent de nombreuses classes pour gérer des paires clé/valeur, mais Ruby s’appuie sur une seule classe,
Hash, pour les gérer
- C’est une structure de données très flexible, utilisable de nombreuses façons au-delà des objets de données / dictionnaires / tables de hachage / listes triées
- Presque tous les objets peuvent être utilisés comme clés, y compris les symboles, chaînes de caractères et entiers
- La méthode
fetch permet de définir une valeur par défaut lorsqu’une clé est absente
delete permet de supprimer une clé. Appeler une clé inexistante ne pose pas de problème
- Le nesting est possible
- Si la clé n’existe pas,
nil est renvoyé, mais il est possible de définir une valeur par défaut avec la propriété default
- En incluant le module
Enumerable, on peut itérer sur le hash avec des méthodes comme each, each_key, each_pair, each_value, keys, values, etc.
- L’opérateur double splat
** permet de décompresser le contenu d’un hash
- Autres méthodes utiles :
any?(key), compact, empty?, merge, hash.eql? obj, except(*keys), reject, filter & select, fetch_values(*keys), has_key?, member?, include?, key?, has_value?, value?, length, size, count, slice(*keys), transform_values, flatten
9 commentaires
Cela me rappelle l’émerveillement que j’ai ressenti à l’université en apprenant le C puis en découvrant pour la première fois les listes Python.
J’ai voulu traduire « couteau suisse » par « couteau de MacGyver », mais les gens d’aujourd’hui risquent de ne pas comprendre, alors j’ai choisi « outil polyvalent »..
Jusqu’à MacGyver, ça passe, mais si on ne connaît pas le couteau suisse, ça risque d’être difficile lol
Même moi, adolescent, je l’ai compris ; j’ai l’impression qu’il n’y a pas beaucoup de gens qui ne le connaissent pas.
Waouh, c'est une découverte étonnante. Je pensais vraiment que personne ne le saurait.
Cela dit, il y a donc aussi des ados parmi les utilisateurs de GeekNews... c'est génial !
De manière assez surprenante, le nombre de développeurs adolescents augmente aussi, et il semble que de plus en plus d’étudiants développeurs découvrent GeekNews.
Il y a à peine 9 mois, j’étais moi aussi encore adolescent...
Beaucoup de gens ignorent qu’il existait une série intitulée « MacGyver », mais tout le monde semble quand même comprendre le mot « couteau MacGyver ».
Maintenant que c’est presque au rang de proverbe, ça passe, non ? En tout cas, moi qui ai une vingtaine d’années, j’ai compris :D
Ah. Si vous comprenez, c’est que vous êtes officiellement un vieux de la vieille :)