Ruby - Różnica między Array # << i push Array #
Po przeanalizowaniu dokumentacji Ruby 1.9.3 zarówno Array # <<, jak i push Array # zostały zaprojektowane do implementowania dołączania elementu na końcu bieżącej tablicy. Wydaje się jednak, że istnieją między nimi subtelne różnice.
Napotkam, że operator * może być użyty do dołączenia zawartości całej innej tablicy do bieżącej, ale tylko z #push.
<code>a = [1,2,3] b = [4,5,6] a.push *b => [1,2,3,4,5,6] </code>
Próba użycia # << zamiast tego daje różne błędy, w zależności od tego, czy jest używany z operatorem kropki i / lub nawiasami.
Dlaczego # << nie działa tak samo, jak robi to #push? Czy w rzeczywistości nie jest to alias dla drugiego?