StackOverflowError
で、なぜこのコードスニペットの実行結果をスロー:Scalaのストリーム計算は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
このコードスニペットだけで正常に動作している間(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