我有两个接受函数类型的函数:Int => Boolean
函数类型
def myFunction1(f1: Int => Boolean) ...
def myFunction2(f2: Int => Boolean) ...
我想从function1调用function2,但不是只用f1调用它,我想用f1的反函数调用它。所以如果f1类似于
(x: Int) => x > 4
在运行时,即对于大于4的数字返回true。如果数字大于4,我希望反向返回false。在调用myFunction2之前是否可以反转f1?
答案 0 :(得分:3)
你可以这样做:
def myFunction1(f1: Int => Boolean) = myFunction2(!f1(_))
答案 1 :(得分:1)
def myFunction1(f1: Int => Boolean) = myFunction2(f1 andThen (! _))