可能重复:
如何在 Scala 中使用/引用布尔函数的否定?
我目前正在 coursera 中学习 Martin Odersky 的 Scala 课程。在其中一项作业中,我需要处理一个函数的否定(它代表一个谓词)。
def fun1 (p: Int => Boolean): Boolean = {
/* some code here */
}
假设函数字面p: Int => Boolean
量表示某种谓词,例如x => x > 0
def fun2 (p: Int => Boolean): Boolean = {
val x = fun1 (p)
val y = ???
/* How can I call the negation of the predicate 'p' here? */
return x && y
}
例如,如果我打电话fun2
给fun2 (x => x > 0)
我想了很多,但我没有取得任何进展。我不是要求任何分配问题的解决方案(我相信我坚持荣誉代码),但是对我在这里遗漏的任何解释都会有很大帮助。