Je suis un programmeur débutant en Scala et je suis tombé sur un comportement bizarre.
def balanceMain(elem: List[Char]): Boolean =
{
if (elem.isEmpty)
if (count == 0)
true;
else false;
if (elem.head == '(')
balanceMain(elem.tail, open, count + 1);....
Ci-dessus, en gros, je veux retourner vrai si elem.isEmpty
y count == 0
. Sinon, je veux renvoyer false.
J'ai lu plus haut qu'il n'était pas nécessaire d'ajouter une déclaration de retour en Scala. J'ai donc omis return
ci-dessus. Mais il ne renvoie pas le booléen. Si j'ajoute une instruction de retour comme return true
. il fonctionne parfaitement. Pourquoi en est-il ainsi ?
De plus, pourquoi est-il considéré comme une mauvaise pratique d'avoir des déclarations de retour en Scala ?