Scalas (a, b) .zipped (или Tuple2.zipped) понятие с использованием потоков / бесконечных списков

вот то, что я подумал, будет правильным и полезным определением чисел фибоначчи в scala:

lazy val fibs:Stream[Int] = 0 #:: 1 #:: (fibs,fibs.tail).zipped.map(_+_)

Однако я получаю следующую ошибку:

fibs take 10 foreach println
0
1
java.lang.StackOverflowError
    at scala.collection.mutable.LazyBuilder.(LazyBuilder.scala:25)
    at scala.collection.immutable.Stream$StreamBuilder.(Stream.scala:492)
    at scala.collection.immutable.Stream$.newBuilder(Stream.scala:483)
    at...

Я полагаю, что zip-архив не работает с потоками правильно? Любые предложения о том, как заставить это работать, или почему это не работает (не следует т? ) работают?

6
задан Felix 11 March 2011 в 17:56
поделиться