我想写一个函数,它返回一个基于输入参数的函数。使用模式匹配返回函数
def myFunction(x: Int): x => Boolean {
x => if (x < 7) false
if (x % 2 == 0) false
else true
}
因此,如果x小于7或甚至会返回false。否则是真的。
我该如何使用模式匹配来编写它?
如果它对Ints使用模式匹配没有意义,那么像Ints列表那样更复杂的事情呢?
def myFunction(myList: List[Int]): x => Boolean {
// just doing something simple here real life is more complex.
x => if (myList.size() < 7) false
else true
}
谢谢。
谢谢。更复杂的场景呢?可以使用模式匹配吗? – 2013-05-12 10:50:27
@More Than Five Updated – Mik378 2013-05-12 10:54:39
在这种情况下,模式匹配没有意义,但如果直接在整数上匹配,编译器可以创建一个switch/case语句。 – drexin 2013-05-12 10:55:59