Ruby splat用法

时间:2014-12-25 19:35:28

标签: ruby arrays splat

我在文本中遇到了这个例子但是当我在我的IRB shell中尝试它时,我收到一个错误。以下代码是否合法?另外还有一种简便的方法来获取中间数组(假设有一个排序数组的中间值为1或2个元素)。

irb(main):004:0> first, *middle, last = [42, 43, 44, 45, 46, 47]
SyntaxError: compile error
(irb):4: syntax error, unexpected ',', expecting '='
first, *middle, last = [42, 43, 44, 45, 46, 47]
           ^
from (irb):4
from :0

1 个答案:

答案 0 :(得分:3)

看来你正在使用ruby 1.8.7。该语法至少需要1.9.2左右。

我知道许多系统附带的系统ruby仍然是1.8.7,但它不再受支持了,你真的应该安装ruby 2.x。