Ich bin neu in Scala ... Hier ist der Code:Scala Compiler sagt unerreichbaren Code, warum?
def ack2(m: BigInt, n: BigInt): BigInt = {
val z = BigInt(0)
(m,n) match {
case (z,_) => n+1
case (_,z) => ack2(m-1,1) // Compiler says unreachable code on the paren of ack2(
case _ => ack2(m-1, ack2(m, n-1)) // Compiler says unreachable code on the paren of ack2(
}
}
Ich versuche, das zu verstehen ..., warum es diesen Fehler geben?
Hinweis: Ich verwende Scala Eclipse Plugin 2.8.0.r21376-b20100408034031 ch.epfl.lamp.sdt.feature.group
Nun, Sie haben meine Frage beantwortet ... Ich hätte fragen sollen, wie ich es am besten beheben kann :) Ich könnte es ändern in Fall _ wenn m == 0 => n + 1; Fall _ wenn n == 0 => ack2 (m-1,1) ist, dass der einzige Weg, es zu tun? Ich kann nach dem Fall keine 0 direkt in den Parens schreiben, weil es sich darüber beschwert, dass es kein BigInt ist. Ich kann nicht BigInt (0) in die Pars setzen, weil es beschwert sich nicht darüber Fall Klassenkonstruktors – mentics
@taotree zu sein: Ich denke, ich antwortete, wie es in meinem bearbeiten zu beheben. – sepp2k