1
为什么6?我想定义序列(5,6,...)。如何正确使用“val”而不是“def”?定义简单流时奇怪的斯卡拉行为
scala> val f: Stream[Int] = 5 #:: f map { _ + 1 }
f: Stream[Int] = Stream(6, ?)
我使用Scala的2.9.2
为什么6?我想定义序列(5,6,...)。如何正确使用“val”而不是“def”?定义简单流时奇怪的斯卡拉行为
scala> val f: Stream[Int] = 5 #:: f map { _ + 1 }
f: Stream[Int] = Stream(6, ?)
我使用Scala的2.9.2
你需要一些括号来告诉它应用到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)
非常感谢。我必须失明;-) – kopper