0
我想写一个赛普尔脚本,计算斐波那契数在一个循环:红宝石。范围:每一个变化值
def fib(v)
return v if v < 2
(fib(v-2) + fib(v-1))
end
[0..15].each do |i|
puts "#{fib(i-1)} "
end
但这个代码失败,因为I-1不能被执行,因为我有类型范围内。我该怎么处理它?我知道,还有很多其他方法可以计算斐波纳契数字,但我需要这些代码才能工作,而不是重写它。
按照@Peereboom的建议,使用范围作为接收者是有意义的,但是如果你想创建一个包含范围值的数组,你需要将范围转换为数组:'a = *(1..15)'或'a =(1..15).to_a','=> [1,2,3,...,15]'。 –