摔在非最终位置

时间:2013-09-25 19:25:22

标签: ruby ruby-1.8 splat

对于以下方法

def mixed_args(a,b,*c,d) 
  puts a,b,c,d
end
p mixed_args(1,2,3,4,5)

我收到此错误消息:

  

语法错误,意外的tIDENTIFIER,期待tAMPER或'&'

你能不能给我一些暗示我缺少的信息?

1 个答案:

答案 0 :(得分:4)

你正在运行Ruby 1.8。在1.9之前,没有这种“高级”使用的splats。

在Ruby 1.8中,splat必须是最后一个参数:a,b,*c很好。在Ruby 1.9中,他们引入了在列表中间展开参数的能力a,b,*c,d