というタプルのリストがあり、リストitem内の各インデックスには 2 x Doublesが含まれています。
item = ((1.0, 2.0), (3.0, 4.0), (10.0, 100.0))
リスト内の各インデックスで計算を実行したいのですがitem、foldLeft. これは私のコードです:
item.foldLeft(0.0)(_ + myMethod(_._2, _._1, item.size)))
_._2itemインデックス 1 で現在のタプルに_._1アクセスし、itemインデックス 0 で現在のタプルにアクセスします。たとえば、最初の折り畳みでは、次のようになります。
item.foldLeft(0.0)(_ + myMethod(2.0, 1.0, item.size)))
セカンドフォールド:
item.foldLeft(0.0)(_ + myMethod(4.0, 3.0, item.size)))
サードフォールド:
item.foldLeft(0.0)(_ + myMethod(100.0, 10.0, item.size)))
ここで、myMethod:
def myMethod(i: Double, j:Double, size: Integer) : Double = {
(j - i) / size
}
foldLeft2つのパラメーターが必要な
ため、パラメーターが多すぎるというエラーが表示されます。myMethodを返し、Doubleは_ですDouble。では、コンパイラが見ているこの余分なパラメータはどこにあるのでしょうか?
私がこれを行う場合:
item.foldLeft(0.0)(_ + _._1))
Doubleの各インデックスの最初のすべての s を合計しますitem- _._1 を _._2 に置き換えるとDouble、 の各インデックスの 2 番目のすべての s が合計されますitem。
どんな助けでも大歓迎です!