def check(x: Int, y: Int) (z: Int) = {
x+y+z
} //> check: (x: Int, y: Int)(z: Int)Int
def curried = check _ //> curried: => (Int, Int) => Int => Int
def z = curried(0,0) //> z: => Int => Int
z(3) //> res0: Int = 3
check(1,2)(3) //> res1: Int = 6
check(1,2)(_) //> res2: Int => Int = <function1>
У меня есть этот код в Scala и то, что я пытаюсь добиться, чтобы позвонить и проверить таким образомКарринг функции в Java
check(1,2)
без третьего параметра для вызова проверки тремя способами
check(1,2)(3) // with three parameters
z(3) // with just one and
check(1,2) with two parameters.
Как я могу это сделать в Scala и Java? Могу ли я объявить z как неявное в Java? Спасибо заранее.
возможно дубликат [Есть ли поддержка Java Карринг?] (Http://stackoverflow.com/questions/6134278/does-java-support-currying) –
Я знаю эту должность, но, к сожалению, не сделал помогите мне понять, как это сделать. – jimakos17