我嘗試學習咖喱功能在Scala中, 看到代碼斯卡拉咖喱功能
def isEven(v: Int): Boolean = v % 2 == 0
def evens(numbers: List[Int])(even: Int => Unit) {
for (number <- numbers; if isEven(number)) {
even(number)
}
}
val my = List.range(1, 100)
evens(my){println(_)} // works fine and prints the even numbers as expected
val recurse = evens(my) { yield _ } //compilation error
我想獲得的結果爲產量的積累,但我不能罰款怎麼辦,在斯卡拉文檔或任何示例。 有什麼想法?
我不認爲你可以從'for'部分分開'yield',也不是我能想到的任何可能的使用情況對於這一點,你必須在'evens'回報'Unit',又該'產量「呢? – 2014-10-01 19:58:10
是的,「收益......」本身既不是陳述也不是表達。它只作爲'for ... yield ...'表達式的一部分存在。 – 2014-10-01 20:36:59