6 Punkte von xguru 2023-08-23 | 9 Kommentare | Auf WhatsApp teilen
  • Rubys Hash ist eine eingebaute Datenstruktur, die Werte Schlüsseln zuordnet. O(1)
  • Andere Sprachen haben viele Klassen zur Verwaltung von Schlüssel/Wert-Paaren, aber Ruby verwaltet sie mit nur einer Hash-Klasse
  • Eine sehr flexible Datenstruktur, die sich nicht nur als Datenobjekt / Dictionary / Hashtabelle / sortierte Liste, sondern auch auf viele andere Arten verwenden lässt
  • Fast alle Objekte, einschließlich Symbolen, Strings und Integern, können als Schlüssel verwendet werden
  • Mit der Methode fetch kann ein Standardwert gesetzt werden, wenn ein Schlüssel nicht vorhanden ist
  • Mit delete können Schlüssel gelöscht werden. Auch das Aufrufen eines nicht vorhandenen Schlüssels ist unproblematisch
  • Verschachtelung ist möglich
  • Wenn der betreffende Schlüssel nicht existiert, wird nil zurückgegeben, aber über die Eigenschaft default kann ein Standardwert festgelegt werden
  • Durch Einbindung des Enumerable-Moduls kann mit Methoden wie each, each_key, each_pair, each_value, keys und values über den Hash iteriert werden
  • Mit dem Double-Splat-Operator ** kann der Inhalt eines Hash entpackt werden
  • Weitere nützliche Methoden: 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 Kommentare

 
joyfui 2023-08-23

Das erinnert mich an das Gefühl, als ich an der Uni C lernte und zum ersten Mal mit Python-Listen in Berührung kam.

 
xguru 2023-08-23

Ich wollte „Schweizer Taschenmesser“ als „MacGyver-Messer“ übersetzen, dachte dann aber, dass die Leute heute das wohl nicht mehr verstehen würden, also wurde daraus „Allzweckwerkzeug“.

 
roxie 2023-08-27

MacGyver scheint noch okay zu sein, aber wenn man das Schweizer Taschenmesser nicht kennt, könnte es schwierig sein, haha.

 
pribess 2023-08-23

Sogar ich als Teenager habe es verstanden; ich glaube, es gibt kaum jemanden, der es nicht kennt.

 
xguru 2023-08-23

Wow, was für eine überraschende Entdeckung. Ich hätte wirklich nicht gedacht, dass ich das nicht weiß.
Übrigens gibt es unter den GeekNews-Nutzern sogar Leute im Teenageralter … großartig!

 
antegral 2023-08-24

Überraschenderweise gibt es immer mehr Entwickler im Teenageralter, sodass es scheint, dass auch unter den studentischen Entwicklern, die GeekNews lesen, nach und nach mehr werden.
Ich selbst war ja noch vor gerade einmal 9 Monaten ein Teenager...

 
depth221 2023-08-23

Vielen ist nicht bewusst, dass es einmal eine Serie namens „MacGyver“ gab, aber den Begriff „MacGyver-Messer“ scheint trotzdem jeder zu verstehen.

 
annyeong 2023-08-23

Hat es inzwischen nicht schon fast den Status eines Sprichworts? Ich jedenfalls, als jemand in den Zwanzigern, habe es verstanden :D

 
eususu 2023-08-23

Ach. Wenn man das versteht, ist das der Beweis, dass man schon zur älteren Generation gehört :)