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, и я пытаюсь добиться такого вызова проверки
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? Заранее спасибо.