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.isEmptyy 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 returnarriba. 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?