有人可以解释一下 REPL 的以下输出吗?
我正在定义 2 个(无限)流,它们在其他方面的定义相同,除了map前面是. (句点)在一个定义中,而 _ _(空格)在另一个定义中。
我可以看到这会导致map以不同的方式绑定,但是第二个定义的输出中的1会发生什么?
谢谢。
scala> lazy val infinite: Stream[Int] = 1 #:: infinite.map(_+1)
infinite: Stream[Int] = <lazy>
scala> val l = infinite.take(10).toList.mkString(",")
l: String = 1,2,3,4,5,6,7,8,9,10
scala> lazy val infinite2: Stream[Int] = 1 #:: infinite2 map(_+1)
infinite2: Stream[Int] = <lazy>
scala> val l2 = infinite2.take(10).toList.mkString(",")
l2: String = 2,3,4,5,6,7,8,9,10,11