1

为什么是6?我想定义序列(5、6、...)。如何正确使用“val”而不是“def”?

scala> val f: Stream[Int] = 5 #:: f map { _ + 1 }
f: Stream[Int] = Stream(6, ?)

我正在使用 scala 2.9.2

4

1 回答 1

4

您需要一些括号来告诉它应用mapto f,而不是 5:

scala> val f: Stream[Int] = 5 #:: (f map { _ + 1 })
f: Stream[Int] = Stream(5, ?)

scala> f.take(5).toList
res2: List[Int] = List(5, 6, 7, 8, 9)
于 2012-09-17T21:10:33.280 回答