为什么6?我想定义序列(5,6,...)。如何正确使用“val”而不是“def”?
scala> val f: Stream[Int] = 5 #:: f map { _ + 1 }
f: Stream[Int] = Stream(6, ?)
我正在使用scala 2.9.2
答案 0 :(得分:4)
您需要一些括号来告诉它将map
应用于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)