【发布时间】:2016-03-30 22:37:03
【问题描述】:
为什么这段代码sn-p执行会导致StackOverflowError:
lazy val primes: Stream[Int] = 2 #:: Stream.from(3, 2) filter { pc =>
primes.takeWhile(x => x * x <= pc) forall (p => pc % p != 0)
}
primes.take(5).last
虽然这段代码 sn-p 工作得很好(请参阅filter 之前的点):
lazy val primes: Stream[Int] = 2 #:: Stream.from(3, 2).filter { pc =>
primes.takeWhile(x => x * x <= pc) forall (p => pc % p != 0)
}
primes.take(5).last
【问题讨论】:
标签: scala stream stack-overflow