【发布时间】:2012-05-21 02:56:46
【问题描述】:
通过查看 Ruby 1.9.3 的文档,Array#<< 和 Array#push 都旨在实现将元素附加到当前数组的末尾。但是,两者之间似乎存在细微差别。
我遇到的是* 运算符可用于将整个其他数组的内容附加到当前数组,但只能使用#push。
a = [1,2,3]
b = [4,5,6]
a.push *b
=> [1,2,3,4,5,6]
尝试使用 #<< 会产生各种错误,具体取决于它是否与点运算符和/或括号一起使用。
为什么#<< 的工作方式与#push 的工作方式不同?一个实际上不是另一个的别名吗?
【问题讨论】:
-
比较这个在python中追加和扩展stackoverflow.com/questions/252703