【问题标题】:How to pass multiple arguments into a Ruby method如何将多个参数传递给 Ruby 方法
【发布时间】:2013-03-18 23:32:35
【问题描述】:

一次将一个参数传递给解析器方法是可行的。 不止一个,它会产生“语法错误,意外',',期待')'(SyntaxError)”

$array = []
array_1 = %w(tuna salmon herring)
array_2 = %w(crow owl eagle dove)

def parser (*argument)
  argument.each do |item|
    $array << item
  end
end

parser (array_1, array_2) # taking multiple arguments generates error
$array.flatten!
puts $array

【问题讨论】:

    标签: ruby


    【解决方案1】:

    是括号前的空格。去掉它。它没有将array_1array_2 视为args,而是将其视为带括号的表达式(整个表达式为一个arg)并抱怨逗号。你的代码应该是这样的

    parser(array_1, array_2)
    

    顺便说一句,Ruby 1.8.7 似乎只是在行为正确之前发出了一个警告。

    【讨论】:

    • 猜他们在 1.9 时改变了行为?
    • @rogerdpack:大概是这样。我没有安装 Ruby 1.9,所以无法测试。
    猜你喜欢
    • 2010-10-24
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 2021-07-07
    • 1970-01-01
    相关资源
    最近更新 更多