Ruby - Unterschied zwischen Array # << und Array # push

In der Dokumentation zu Ruby 1.9.3 wurden sowohl Array # << als auch Array # push so konzipiert, dass ein Element an das Ende des aktuellen Arrays angehängt wird. Es scheint jedoch subtile Unterschiede zwischen den beiden zu geben.

Ich habe festgestellt, dass der Operator * verwendet werden kann, um den Inhalt eines gesamten anderen Arrays an das aktuelle Array anzuhängen, jedoch nur mit #push.

<code>a = [1,2,3]
b = [4,5,6]

a.push *b
=> [1,2,3,4,5,6]
</code>

Der Versuch, stattdessen # << zu verwenden, führt zu verschiedenen Fehlern, je nachdem, ob der Punktoperator und / oder die Klammern verwendet werden.

Warum funktioniert # << nicht so wie #push? Ist das eine kein Alias ​​für das andere?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage