私はこの複数のパラメータ句の言語機能のポイントと、なぜそれを使うのかを理解しようとしています。 たとえば、これらの2つの機能の違いは何ですか?Scalaの関数定義における複数のパラメータ節のポイントは何ですか?
class WTF {
def TwoParamClauses(x : Int)(y: Int) = x + y
def OneParamClause(x: Int, y : Int) = x + y
}
>> val underTest = new WTF
>> underTest.TwoParamClauses(1)(1) // result is '2'
>> underTest.OneParamClause(1,1) // result is '2'
Scala specification at point 4.6には何かがあります。それがあなたにとって意味をなさないかどうかを見てください。
NB:仕様ではこれらの「パラメータ句」が呼び出されていますが、一部の人は「パラメータリスト」と呼んでいると思います。
Nnon、Scalaのプログラマーここで、前回のパラメータに基づいて、デフォルト値を設定するには2つのパラメータリスト、
が必要です。多分それはちょうど別のスタイルですか?すべてがそれを行う一つの方法しか持たないというわけではありません。 – apscience
大丈夫、ダニエル・ソブラルの答えは、http://stackoverflow.com/questions/4697404/scala-currying-by-nested-functions-or-by-multiple-parameter-lists –
にお答えしています答えはおそらくこの質問に答えるでしょう:(1)2番目の節の最初のparam句の型を指定する必要はありません。 (2)ライブラリ設計の柔軟性。 (3)カリングを簡単にする:http://stackoverflow.com/questions/4915027/two-ways-of-currying-in-scala-whats-the-use-case-for-each –