PartialFunction
のorElse
の使用は、apply
の時間中に大きなmatch
ブロックを使用するよりも多かれ少なかれ効率的ですか?質問を説明するためにパーシャルファンクションまたはエールスの効率
は、次のとおりです。pf
への適用時に
val pf = { case "a" => "A"
case "b" => "B"
case "c" => "C"
...
}
値:
よりも多かれ少なかれ効率的val pf = { case "a" => "A"} orElse
{ case "b" => "B" } orElse
{ case "c" => "C" } ...
pf(x)
「orElse」の効率が悪い場合でも、コードクリーナーを作成できるときには、それを使用しないことを正当化することはあまり効率的ではありません。それは、あなたが与える例は人工的であると言われています(私はそれを批判していません)。後者の例は、それらの非常に似たような場合を打破する正当な理由がないためです。 –