剛剛看到一個有趣的可能性初始化代碼塊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