這是我的問題:我不明白代碼如何工作。 "())("
如何返回false
?斯卡拉的括號平衡
def balance(chars: List[Char], numOpens: Int): Boolean = {
if (chars.isEmpty) {
numOpens == 0
} else {
val h = chars.head
val n =
if (h == '(') numOpens + 1
else if (h == ')') numOpens - 1
else numOpens
if (n >= 0) balance(chars.tail, n)
else false
}
}
友情提醒:https://www.coursera.org/about/honorcode –
如果這是來自Coursera課程,那麼問這個問題的地方可能在課程的論壇中。如果你想尊重代碼,你應該刪除這個問題。另一方面...我不認爲這個問題是絕密的,並且會危及課程... –
@SebastianN .:這裏的代碼是Coursera課程作業的解決方案。作者要求不要爲他做功課,而是要解釋他在什麼地方找到的解決方案是如何工作的。 – senia