是否使用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