私は初心者のscalaプログラマーであり、奇妙な振る舞いに出くわしました。
def balanceMain(elem: List[Char]): Boolean =
{
if (elem.isEmpty)
if (count == 0)
true;
else false;
if (elem.head == '(')
balanceMain(elem.tail, open, count + 1);....
上記の場合elem.isEmpty
、基本的にはtrueを返したいと思いcount == 0
ます。それ以外の場合は、falseを返します。
上記で、scalaにreturnステートメントを追加する必要がないことを読みました。だから私はreturn
上記を省略しました。ただし、ブール値は返されません。returnステートメントをとして追加した場合return true
。それは完全に機能します。なぜそうなのですか?
また、scalaでreturnステートメントを使用することが悪い習慣と見なされるのはなぜですか