2016-08-02 44 views

回答

5

他們是方法。參見例如方法scala.collection.GenTraversableLike.map

Scala核心語言中沒有真正的函數。

基本上,Scala中對函數的支持類似於Java:任何具有名爲apply的方法的對象都可以用作「函數」。有一些Scala的標準庫中的特徵,稱爲Function0[+R]Function1[-T1, +R]Function2[-T1, -T2, +R]Function3[-T1, -T2, -T3, +R]等,可使用特殊的文本語法像這樣被實例化:

val fn = (i: Int, j: Int) => i + j 

有兩種想法是什麼意思是Scala中「功能」:

  • 窄之一:其具有apply方法的任何對象:FunctionN特徵之一,或
  • 一般之一的實例。

mapfiltergroupBy,既不是,他們甚至沒有對象。他們是方法。

相關問題