foo
は、入力値T
にいくつかの戻り値R
を計算する関数があり、その一部をパラメータとして渡される他の関数に委譲すると仮定します。
def foo(data: List[T], delegate: T => R): List[R]
Scala関数のパラメータセットの規則の規則と習慣
をしかし、私はデータを持つ、またはデリゲートと私の機能のいずれかを再利用したい場合は、私はできませんので、私は別のパラメータセットにそれらを分割できます。たとえば、1はそのように定義することができ
次のようになります。
def foo(data: List[T])(delegate: T => R): List[R]
しかし、今質問があります。 、「良い」ためということがあるか、それは私が私の質問の一般的な形式は、以下のことになると思います
def foo(delegate: T => R)(data: List[T]): List[R]
次のようになります。私たちは、デリゲート関数を使用して、データx1, x2, ..., xN
で動作する機能f
を定義する必要が考えますデータを操作するg1, g2, ..., gM
、データを操作しない関数h1, h2, ..., hK
、機能f
のパラメータセットの優先/正しい順序は何ですか?その理由は何ですか?