Soy nuevo en Scala ... Aquí está el código:El compilador Scala dice código inalcanzable, ¿por qué?
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(
}
}
Estoy tratando de entender que ... ¿Por qué es dando ese error?
Nota: Estoy usando Scala Eclipse Plugin 2.8.0.r21376-b20100408034031 ch.epfl.lamp.sdt.feature.group
Bueno, usted respondió mi pregunta ... Debería haberle preguntado cómo arreglarlo también :) Podría cambiarlo a caso _ si m == 0 => n + 1; caso _ si n == 0 => ack2 (m-1,1) ¿Es esa la única forma de hacerlo? No puedo poner un 0 directamente en los parens después del caso porque se queja de que no es un BigInt. No puedo poner BigInt (0) en los parens porque se queja de que no es el constructor de la clase de caso – mentics
@taotree: Creo que respondí cómo solucionarlo en mi edición. – sepp2k