Soy un programador novato en Scala y me encontré con un comportamiento extraño.
def balanceMain(elem: List[Char]): Boolean =
{
if (elem.isEmpty)
if (count == 0)
true;
else false;
if (elem.head == '(')
balanceMain(elem.tail, open, count + 1);....
Básicamente, quiero volver verdadero si elem.isEmpty
y count == 0
. De lo contrario, quiero devolver falso.
Ahora, arriba, he leído que no es necesario agregar una declaración de devolución en scala. Por eso lo he omitido return
arriba. Pero no devuelve el booleano. Si agrego una declaración de devolución como return true
. funciona perfectamente. ¿Por que es esto entonces?
Además, ¿por qué se considera una mala práctica tener declaraciones de retorno en scala?