【发布时间】:2017-08-12 13:52:43
【问题描述】:
我正在尝试为斐波那契编写一个简单的自定义函数,但出现错误:
我的代码:
class Fibonacci
def fib(num)
@num = num.to_i
series = Array.new
series[0] = 0
series[1] = 1
for i in 0..series[@num]
series[@num+2] = series[@num] + series[@num+1]
end
return series
end
end
obj = Fibonacci.new
obj.fib(8)
错误:
ruby fibonacci.rb
fibonacci.rb:9:in `fib': bad value for range (ArgumentError)
from fibonacci.rb:19:in `<main>'
【问题讨论】:
-
旁注:这里不需要
to_i和return;series = [0,1]可以替换方法定义中的第 2 到 4 行;使用两个空格进行缩进;for不是惯用的 Ruby。 -
确定@sagarpandya82,会重构它。