刚刚看到在 Scala 中为 foreach 或 map 等高阶函数初始化代码块的有趣可能性:
(1 to 3) map {
val t = 5
i => i * 5
}
(1 to 3) foreach {
val line = Console.readLine
i => println(line)
}
这是一些记录的功能还是我应该避免这样的结构?我可以想象,“初始化”块进入构造函数,而闭包本身变成了 apply() 方法?
感谢帕特的原始问题(http://extrabright.com/blog/2010/07/10/scala-question-regarding-readline)