这是我的程序:def calculate(*numbers, options = {}) add(numbers) if options[:add] subtract(numbers) if options[:add] == falseenddef add(*numbers) numbers.reduce(:+)enddef subtract(*numbers) numbers.reduce(:-)endp 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吗?
3 回答
- 3 回答
- 0 关注
- 582 浏览
添加回答
举报
0/150
提交
取消