下面的代码工作正常
def exec(f: (Int, Int) => Boolean, p1: Int, p2: Int) = f(p1, p2)
val >= = (x1: Int, x2: Int) => x1 >= x2
println(exec(>=, 10, 10))
但是问题是,是否有可能在没有显式重新定义运算符(合成函数)的情况下使其正常工作?
更新
很明显,它像这样绝对可以正常工作
println(exec(_ >= _, 10, 10))
问题是是否可以在不定义功能值的情况下使其以exec(>=, 10, 10)
形式工作。
补充my other answer,您可以这样做:
println(exec(10, 10)(_ >= _))