刚刚看到一个有趣的可能性初始化代码块Scala中高阶功能,如的foreach或地图:阶的foreach和地图初始化
(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)
比我的答案要精确得多。 +1 – VonC 2010-07-10 21:10:28
在因子的例子中,你应该使用'total * = i'而不是引入第二个变量'counter' – 2010-07-11 20:47:01
是的,我后来才意识到。将编辑 – 2010-07-12 02:09:34