一次将一个参数传递给解析器方法。 不止一个,它会生成“语法错误,意外',',期待')'(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
答案 0 :(得分:5)
这是parens之前的空间。去掉它。它不是将array_1
和array_2
视为args,而是将其视为带括号的表达式(整个表达式为一个arg)并抱怨逗号。您的代码应该是
parser(array_1, array_2)
顺便说一句,Ruby 1.8.7似乎只是在行为正确之前发出警告。