这是我的程序:
def calculate(*numbers, options = {})
add(numbers) if options[:add]
subtract(numbers) if options[:add] == false
end
def add(*numbers)
numbers.reduce(:+)
end
def subtract(*numbers)
numbers.reduce(:-)
end
p calculate(1,2)
在第1行,它在抱怨
tests.rb:1:语法错误,意外的'=',期望的是')'
def计算(*数字,选项= {})
________________________________________________ ^
[在0.1秒内完成,退出代码为1]
我认为这可能是Ruby中默认值的问题,因为在v1.9之前,您必须按顺序拥有所有默认值-但这不是问题,因为我的版本是
ruby 2.0.0p195 (2013-05-14) [i386-mingw32]
我已经尝试过对所有空间进行转置,因为在方法方面,红宝石似乎对那些东西特别,但没有骰子。
可能是我的splat变量*numbers吗?
相关分类