Ruby 斐波那契自定义函数
Ruby Fibonacci custom function
我正在尝试为斐波那契写一个简单的自定义函数,但出现错误:
我的代码:
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>'
您将从 0..series[@num]
获得 ArgumentError
,其中 series[@num]
届时将是 nil
。
我想你的意思是:
for i in 0..@num
series[i+2] = series[i] + series[i+1]
end
我正在尝试为斐波那契写一个简单的自定义函数,但出现错误:
我的代码:
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>'
您将从 0..series[@num]
获得 ArgumentError
,其中 series[@num]
届时将是 nil
。
我想你的意思是:
for i in 0..@num
series[i+2] = series[i] + series[i+1]
end