Tag: fibonacci

Ruby中的懒惰斐波那契

我可以在Clojure中写一个懒惰的斐波那契,如下所示: (def fib (lazy-cat [1 1] (map +’ fib (rest fib)))) 我正在尝试(不成功)在Ruby中编写它,如下所示: fib = Enumerator.new do |yielder| yielder << 1 << 1 fib.zip(fib.drop(1)).map do |a,b| yielder << (a + b) end end 在简化的情况下,这适用: fib = Enumerator.new do |yielder| yielder << 1 << 1 puts "here" end puts fib.take(2).inspect puts fib.drop(1).take(1).inspect 但这不是: fib = Enumerator.new do […]