Ruby 为什么';这个算法产生的斐波那契序列在100以下吗? a=1;b=2 斐波那契=[] 而fibonacci.length
错误消息是“main:Obj的未定义方法'push'”您正在尝试#将数组本身推到最后一行!:) 这就是它所抱怨的。正在对“main”对象调用Ruby 为什么';这个算法产生的斐波那契序列在100以下吗? a=1;b=2 斐波那契=[] 而fibonacci.length,ruby,Ruby,错误消息是“main:Obj的未定义方法'push'”您正在尝试#将数组本身推到最后一行!:) 这就是它所抱怨的。正在对“main”对象调用push方法,而push不是内核方法 我猜你的意思是put。否则,如果有点不习惯的话,看起来还可以。当然,你可以在网站上找到很多解决这个问题的Ruby解决方案,这些解决方案可能读得更清楚一些(请参阅)。正如其他人之前所说,最后一行应该是“puts” 你的号码也错了 a = 1; b = 2 fibonacci = [] while fibonacci.len
push
方法,而push
不是内核
方法
我猜你的意思是
put
。否则,如果有点不习惯的话,看起来还可以。当然,你可以在网站上找到很多解决这个问题的Ruby解决方案,这些解决方案可能读得更清楚一些(请参阅)。正如其他人之前所说,最后一行应该是“puts”
你的号码也错了
a = 1; b = 2
fibonacci = []
while fibonacci.length < 100
fibonacci.push(a)
fibonacci.push(b)
a = a + b; b = a + b
end
push fibonacci
a=1;b=1
斐波那契=[]
而fibonacci.length<100
fibonacci您正在尝试#将数组本身推到最后一行!:)--这就是它所抱怨的——该方法正在“main”对象上调用。。。我猜你的意思是put
谢谢!愚蠢的错误,应该说“放”。人们认为0和1(而不是1和1)是起始数,例如(这只是信息量,我不想挑剔或其他任何东西)。你是对的,在系统中,它是在0, 1, 1,…但一般来说,它是1,1,但不是1,2
a = 1; b = 1
fibonacci = []
while fibonacci.length < 100
fibonacci << a
fibonacci << b
a += b
b += a
end
puts fibonacci