Looking for scala Answers? Try Ask4KnowledgeBase
Looking for scala Keywords? Try Ask4Keywords

Scala Language高次関数


備考

Scalaはメソッドと関数を構文的に同一のものとして扱うために非常に長きにわたります。しかし、フードの下では、彼らは明確な概念です。

メソッドは実行可能コードであり、値の表現はありません。

関数は、 Function1型の実際のオブジェクトインスタンス(または別のタイプの同様の型)です。そのコードは、そのapplyメソッドに含まれていapply 。効果的には、単に渡すことができる値として機能します。

ちなみに、値としての機能を治療する能力は、高階関数のサポートを持つ言語が意味する、まさにです 。関数インスタンスは、この機能を実装するためのScalaのアプローチです。

実際の高次関数は、関数値を引数として取るか、関数値を返す関数です。しかし、Scalaでは、すべての操作がメソッドであるため、関数のパラメータを受け取ったり返すメソッドを考えるのが一般的です。したがって、 Seq定義されているmap 、そのパラメータが関数であるため「高次関数」と考えることができますが、文字通り関数ではありません。方法です。

高次関数 関連する例