Scala: se encontró una discrepancia de tipo, unidad requerida: booleano
Frecuentes
Visto 4,533 veces
4
He estado tratando de ejecutar este código, pero de alguna manera me he topado con la pared con 'desajuste de unidad, error booleano esperado'. He realizado varias preguntas en Stackoverflow pero no he encontrado nada concreto que responda a mi pregunta.
def balance(chars: List[Char]): Boolean =
{
var i = 0;
var j = 0;
if (Count(i, j) == 0){
true
}
else{
false
}
def Count(count: Int, Pos: Int): Int =
{
if (Pos == chars.length)
{
count
}
else
{
if (chars(Pos) == '(')
{
Count(count + 1, Pos + 1);
}
else
{
Count(count - 1, Pos + 1);
}
}
}
}
1 Respuestas
8
Un bloque de código delimitado por {}
evalúa a la última expresión dentro de él. Aquí, su última expresión es una definición (def Count
), que se evalúa como Unit
. Así que mueva la expresión que espera que se evalúe hasta el final.
Respondido el 29 de Septiembre de 13 a las 22:09
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas scala functional-testing or haz tu propia pregunta.
Por cierto, if (Count(i, j) == 0){ true } else{ false } es lo mismo que Count(i, j) == 0 - diego basch