【发布时间】:2019-10-03 03:30:00
【问题描述】:
在 Scala 2.12.x 中,我有以下示例,但它没有产生预期的结果:
val result = Stream.iterate(0)(_ + 10).takeWhile(_ < 100)
println(result)
// outputs:
// Stream(0, ?)
// while I expected:
// Stream(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, ?)
我在这里做错了什么?
【问题讨论】:
-
它确实有效,记住
Stream是 lazy,因此它还没有做任何事情。您可以将其转换为List(result.toList) 或使用foreach(println)来查看结果。 -
啊,是的!就是这样:)