6 points par xguru 2023-08-23 | 9 commentaires | Partager sur WhatsApp
  • 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

 
joyfui 2023-08-23

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.

 
xguru 2023-08-23

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

 
roxie 2023-08-27

Jusqu’à MacGyver, ça passe, mais si on ne connaît pas le couteau suisse, ça risque d’être difficile lol

 
pribess 2023-08-23

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.

 
xguru 2023-08-23

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 !

 
antegral 2023-08-24

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

 
depth221 2023-08-23

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

 
annyeong 2023-08-23

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

 
eususu 2023-08-23

Ah. Si vous comprenez, c’est que vous êtes officiellement un vieux de la vieille :)