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