Ich versuche, eine 2-Parameter-Funktion in List.foreach, mit dem ersten Parameter fest für eine Schleife. In der Tat möchte ich eine Funktion von zwei Parametern in Abhängigkeit von einem Parameter zum Curry, der eine Funktion eines Parameters zurückgibt (wie List.foldLeft tun)Wie man eine Funktion in Scala curry
Das funktioniert nicht:
private def mathFunc1(a: Double, b: Double) =
println(a + b)
def eval(v: Double) = {
List(1.0, 2.0, 3.0).foreach(mathFunc1(2.1))
}
Dies funktioniert:
private def mathFunc2(a: Double)(b: Double) =
println(a + b)
def eval(v: Double) = {
List(1.0, 2.0, 3.0).foreach(mathFunc2(2.1))
}
Aber ich will nicht die Unterschrift von mathFunc1 ändern, so möchte ich so etwas wie zu tun:
private def mathFunc1(a: Double, b: Double) =
println(a + b)
def eval(v: Double) = {
List(1.0, 2.0, 3.0).foreach(CONVERT_TWO_PARAMS_TO_ONE_ONE(mathFunc1)(2.1))
}
Entschuldigen Sie mich, nur aus Neugier, was ist der Zweck des Parameters v: Double in eval? Jedes Mal, wenn die Ergebnisse 3.1, 4.1, 5.1 – jimakos17
@ jimakos17 sind, wird es nicht verwendet. So war es aber in der Frage, also behielt ich es so. –