是否使用PartialFunction
的orElse
比在apply
时间内使用较大的match
块更有效?PartialFunction orElse的效率
为了说明问题,就是:
val pf = { case "a" => "A"} orElse
{ case "b" => "B" } orElse
{ case "c" => "C" } ...
多于或少于效率较低:
val pf = { case "a" => "A"
case "b" => "B"
case "c" => "C"
...
}
应用期间的值,以pf
:
pf(x)
即使'orElse'效率较低,它可能并不是非常低效,因为它可以使您的代码更清洁时不使用它。话虽如此,你提供的例子是有人设计的(这很好,我不会批评它):后一个例子在这种情况下是首选,因为没有理由打破这些非常相似的案例。 – 2012-02-28 16:32:45