根据 scala 文档,流实现了惰性列表,其中元素仅在需要时才被评估。例子;
val fibs: Stream[BigInt] = BigInt(0) #:: BigInt(1) #:: fibs.zip(fibs.tail).map(n => {
n._1 + n._2
})
之后在 scala repl;
fibs(4)
fibs
它会打印出来;
res1: Stream[BigInt] = Stream(0, 1, 1, 2, 3, ?)
由于调用.length或.last会导致无限循环,我怎样才能以最有效的方式获得值“3”(最后计算的值)?