Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 为什么';这个算法产生的斐波那契序列在100以下吗? a=1;b=2 斐波那契=[] 而fibonacci.length_Ruby - Fatal编程技术网

Ruby 为什么';这个算法产生的斐波那契序列在100以下吗? a=1;b=2 斐波那契=[] 而fibonacci.length

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

错误消息是“main:Obj的未定义方法'push'”

您正在尝试#将数组本身推到最后一行!:)

这就是它所抱怨的。正在对“main”对象调用
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