私はスカラーが初めてです。私は一つの基本的な考え方を理解する必要があります。 Scalaでスカラーマップでは、フィルター、ゴーリーは関数またはメソッドです
、我々はマップ、フィルタ、GROUPBYなどを持っている...
は、彼らが機能していますか?または彼らの方法ですか?
私はスカラーが初めてです。私は一つの基本的な考え方を理解する必要があります。 Scalaでスカラーマップでは、フィルター、ゴーリーは関数またはメソッドです
、我々はマップ、フィルタ、GROUPBYなどを持っている...
は、彼らが機能していますか?または彼らの方法ですか?
これはメソッドです。例えば、 scala.collection.GenTraversableLike.map
方法。
実際にはScala Core Languageには機能がありません。
基本的に、Scalaの関数のサポートはJavaと似ています。apply
というメソッドを持つオブジェクトはすべて "関数"として使用できます。このように特別なリテラル構文を使用してインスタンス化することができるなどのScala標準ライブラリにおける形質の数、Function3[-T1, -T2, -T3, +R]
、Function2[-T1, -T2, +R]
、Function1[-T1, +R]
、Function0[+R]
と呼ばれるが、あります。
val fn = (i: Int, j: Int) => i + j
2つのアイデアは、それがあることを意味するものがありますScalaで「機能」:
FunctionN
特徴の一つ、又はapply
方法を有する任意のオブジェクト。map
、filter
、groupBy
、どちらも、彼らもオブジェクトではありませんされていません。彼らは方法です。
これらのメソッドが機能である」多くのScalaのクラスが提供するより高次の関数であり、この高次関数は、(スカラドキュメントからの)メソッド場合であってもよい他の機能
http://docs.scala-lang.org/tutorials/tour/higher-order-functions.html
を構成するために使用することができますそれはある種のクラス、特質、またはシングルトンオブジェクトのメンバーです。 "
短い答え: 'def'で定義されているものは全てScalaのメソッドです。 –