私は部分的な関数が入力0を破棄することを期待していますが、代わりにそれは一致エラーを出しています。どうしてそれが起こっているのか正確に説明してください。私は何が欠けているのですか?入力が0
ケースに対応するために、ガードのd != 0
なぜscalaの部分関数が入力0に対して実行時エラーを与えていますか?
はあなたの実装を変更するので、ケースと一致していません。0のとき
object PartialFunction extends App {
val divider : PartialFunction[Int,Int] = {
case d : Int if d != 0 => 42/d
}
println(divider(0))
//println(fraction(0))
}
あなたのパターンに一致しないためですか? –
期待される出力は?どのようにすれば、コンパイラはその 'divider(0)'コールで何をするべきかを知ることができますか? –