我从 scala 开始,并尝试将功能方式应用于它,但我提出了一堆难以阅读的嵌套 if\else 结构,我想知道是否有更好的方法来编写这些东西?
例如,我编写了一个执行括号平衡的脚本:
def balance(chars: List[Char]): Boolean = {
def checkParentesys(chars: List[Char], parentesis: List[Char]): Boolean =
if (chars.isEmpty && parentesis.isEmpty)
true
else
if (chars.head == '(')
checkParentesys(chars.tail, '(' :: parentesis)
else
if (parentesis.isEmpty)
false
else
checkParentesys(chars.tail, parentesis.tail)
checkParentesys(chars.filter(s => s == '(' || s == ')'), List())
}
我怎样才能把它写得更实用、更像 scala?