12
Próbuję wywołać funkcję 2 parametry w List.foreach, z pierwszym parametrem ustalona dla pętli. W rzeczywistości chcę curry funkcji dwóch parametrów w zależności od jednego parametru, która zwraca funkcję jednego parametru (jak List.foldLeft zrobić)Jak curry funkcja w Scala
To nie działa:
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))
}
To działa:
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))
}
Ale nie chcę, aby zmienić podpis mathFunc1, więc chcę zrobić coś takiego:
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))
}
Przepraszam, po prostu z ciekawości, co jest celem tego parametru V: Pokój w eval? Za każdym razem, gdy wyniki są 3.1, 4.1, 5.1 – jimakos17
@ jimakos17 To nie jest używane. Tak właśnie było w tej kwestii, więc zachowałem to w ten sposób. –