我是一個新手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
和count == 0
返回true。否則,我想返回false。
上面我已經讀過,沒有必要在scala中添加return語句。所以我省略了上面的return
。但它不返回布爾值。如果我添加return語句爲return true
。它完美地工作。爲什麼這樣?
而且,爲什麼它被認爲是不好的做法,在斯卡拉
有**通常**不需要return關鍵字,只要您將代碼分解爲足夠小的方法即可。 – mauhiz
@mauhiz謝謝。你能解釋一下嗎?你會怎麼做。 – Jatin
看起來像你正在參加coursera scala課程。所有最好:) – weima