这是我在这里的第一篇文章,是的,因为你可以告诉我开始学习如何编码。我试图解决Euler Project的问题#2但是第5行仍然遇到以下错误:
undefined method '+' for nil:NilClass(NoMethodError)
我搜索了这个错误,显然它无论我试图应用这种方法都无法识别它。这是我的代码
def FiboV1()
fibo_list=[1,2]
for i in fibo_list
if i>=2 then
y=fibo_list[i]+fibo_list[i-1]
fibo_list.push(y)
end
end
print fibo_list
end
我不明白为什么' +'在这里提出一个未定义的方法,你能帮忙吗?
非常感谢!!!
答案 0 :(得分:0)
问题是数组索引开始从0
开始计数(而不是1)。当您第一次输入if
块时,使用fibo_list[i]
来呼叫i = 2
,但该元素不存在。
如果您将其更改为:
,该行应该可以使用y = fibo_list[i-1] + fibo_list[i-2]
我没有检查其他问题,因为你没有解释你的代码应该做什么。