ruby - Splat 在非最终位置

标签 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)

我收到此错误消息:

syntax error, unexpected tIDENTIFIER, expecting tAMPER or '&'

您能提示我缺少哪些信息吗?

最佳答案

您正在运行 Ruby 1.8。 splats 的这种“高级”用法在 1.9 之前不可用。

在 Ruby 1.8 中,splat 必须是最后一个参数:a,b,*c 可以。在 Ruby 1.9 中,他们引入了在列表中显示参数的能力,a,b,*c,d

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

相关文章:

ruby-on-rails - 使用 capybara 运行并行 Selenium 测试

ios - 尝试使用 selenium 网格启动 appium 驱动程序失败

ruby - 使用splat捕获错误不起作用

arrays - 啪啪的解释

ruby - RDoc 部分 : 的 YARD 等效项

ruby - 使用 Redis/Ohm 按日期时间排序

mysql - Rails - 将不同的 mysql 数据库查询到标准应用程序数据库

ruby - `?n` 与 `' n'` 有何不同?

ruby - 为什么 begin/rescue/else 在 1.9.2 和 1.8.7 上的行为不同

c++ - 为任意网格生成三平面 UV?