Ruby - Diferencia entre Array # << y Array # push
Desde el examen de la documentación de Ruby 1.9.3, tanto Array # << como Array # push fueron diseñados para implementarse agregando un elemento al final de la matriz actual. Sin embargo, parece haber diferencias sutiles entre los dos.
El que encontré es que el operador * se puede usar para agregar el contenido de otra matriz a la actual, pero solo con #push.
<code>a = [1,2,3] b = [4,5,6] a.push *b => [1,2,3,4,5,6] </code>
Intentar usar # << en cambio da varios errores, dependiendo de si se usa con el operador de punto y / o paréntesis.
¿Por qué # << no funciona de la misma manera que #push? ¿Uno no es realmente un alias para el otro?