Unterschied zwischen Update (other_hash) und merge (other_hash)

8

Aktualisierungscode:

%Vor%

Code zusammenführen:

%Vor%

Ich habe die obige Methode merge und update für dieselbe hash ausgeführt. Aber ich habe die gleiche Ausgabe. Hier ist meine Frage: Sind update und merge mit derselben Logik? wenn nicht dasselbe dann, wie die Ausgabe für die gleichen kam?

    
Arup Rakshit 13.01.2013, 19:03
quelle

3 Antworten

18
  

Sind update und merge mit derselben Logik?

Nein, sie sind nicht gleich. update ist ein Alias ​​für merge! , was die In-Place-Variante ist von merge .

  

wenn nicht gleich dann wie die Ausgabe für die gleichen kam?

Da Sie jedoch in beiden Fällen den Rückgabewert des Aufrufs verwenden, ist der Wert von h1 jeweils anders:

%Vor%     
Andrew Marshall 13.01.2013, 19:08
quelle
3

Hash#update ist ein Alias ​​für Hash#merge! Ссылка

    
amenzhinsky 13.01.2013 19:06
quelle
2

Hash # update ist ein Alias ​​für Hash # merge!

Der Unterschied zwischen Hash # merge und Hash # update ist Hash # update aktualisiert Schlüssel / Werte in-place , während Hash # merge gibt aktualisierten Hash zurück, ohne den Aufrufer zu berühren Instanz.

    
David Unric 13.01.2013 19:09
quelle

Tags und Links