对于以下方法

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

我收到此错误消息:
语法错误,意外的tIDENTIFIER,应为tAMPER或“&”
你能告诉我我遗漏了什么信息吗?

最佳答案

你在运行Ruby1.8。splats的这种“高级”使用在1.9之前是不可用的。
在Ruby1.8中,splat必须是最后一个参数:a,b,*c很好在Ruby1.9中,他们引入了splat arguments mid list,a,b,*c,d的功能。

关于ruby - 处于非最终位置的Splat,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19013496/

10-13 01:42