我想生成红宝石斐波纳契数列,直至最大击中最大值说50000 我写了下面的代码片段:而条件不断注入红宝石
high = 50000
arr = [0, 1]
while arr.last < high do
arr.inject{|a, i| arr.push(arr[-2] + arr[-1])}
end
puts arr.last
这会导致停止程序。 我其实是新来的红宝石,有没有一种很好的方法来解决ifs,而在inject
在红宝石相同的声明? 对于我正在使用的上述方法,有什么更好的方法?
看看[这个问题](http://stackoverflow.com/questions/6418524/fibonacci-one-liner)一些其他的方法来生成Ruby中的斐波那契数列。 – mikej 2012-07-23 20:34:05
问题不在于关于fibo序列,更多的是关于使用注射附近的条件。 – user993563 2012-07-23 20:35:33
@ user993563:问题在于注入对于您显示的代码片段(生成斐波那契值)没有任何用处。 – tokland 2012-07-23 20:37:05