【发布时间】:2015-01-07 17:51:11
【问题描述】:
定义为的偏函数的性能有什么区别
val matches = {
case Match(x,y) => ...
case AnotherMatch(x,y,z) => ...
case x:YetAnother => ...
}
还有一个定义如下?
val match1 = {
case Match(x,y) => ...
}
val match2 = {
case AnotherMatch(x,y,z) => ...
}
val match3 = {
case x:YetAnother => ...
}
val matches = match1 orElse match2 orElse match3
【问题讨论】:
-
是的。但是,大多数情况下它可能可以忽略不计,如果后一种方法以任何方式使您的代码更具可读性或可维护性,您应该使用它,并且只有在您确认性能是您的一个真正问题时才进行优化应用程序。