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?