a = 1; b = 2
fibonacci = []
while fibonacci.length < 100
fibonacci.push(a)
fibonacci.push(b)
a = a + b; b = a + b
end
push fibonacci
错误消息是“未定义方法`push”for main:Obj“
答案 0 :(得分:1)
你正试图在最后一行#push数组本身! :)
这就是它的抱怨。正在“主”对象上调用push
方法,而push
不是Kernel
方法。
我猜你的意思是puts
。否则它看起来没问题,如果有点非惯用。当然,您可以在网站上找到许多可以解决这个问题的Ruby解决方案(请参阅here for a recursive one。)
答案 1 :(得分:1)
正如其他人所说,在最后一行之前应该是'put' 你的号码也错了。
a = 1; b = 1
fibonacci = []
while fibonacci.length < 100
fibonacci << a
fibonacci << b
a += b
b += a
end
puts fibonacci
但是,fib也从1开始,第二个元素也是1。 如果从1,2开始,这会让你顺序关闭
Fib = 1,1,2,3,5,8 ......