我看Runar Bjarnason present Functional Programming for Beginners,並在14:45,他定義了一個方法:功能VS Scala的方法
def isDivisibleBy(k: Int): Int => Boolean = i => i % k == 0
和功能:
val isEven = isDivisibleBy(2)
什麼是定義isEven
的利弊作爲一種功能而不是一種方法?
我已閱讀Scala Functions vs Methods以及Difference between method and function in Scala,我理解的語義差異,但我不知道是否有在這種情況下,一些深層次的原因,爲什麼一個功能可能會或可能不會優於使用方法:
def isEven = isDivisibleBy(2)
想想吧,在相應的Java(Scala的功能與方法不就是一個很好的工作),以及它如何適合的工作時間。這是另一種方法的好處。還要注意,'def'的作用域很重要,因爲它到處都不一樣(它只是一個「方法」 - 拋開實現細節 - 在類級別上)。 – 2011-01-29 22:15:35