我在一篇文章中看到了这方面的插图,但是当我在我的 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
最佳答案
看来您使用的是 ruby 1.8.7。该语法至少需要 1.9.2 左右。
我知道很多系统附带的系统 ruby 仍然是 1.8.7,但它不再受支持,你真的应该安装 ruby 2.x。
关于Ruby splat 用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27650160/