我一直试图运行这段代码,但不知何故已经出现'单位不匹配,布尔预期错误'。我已经在Stackoverflow上遇到了各种问题,但没有找到任何能回答我问题的具体问题。
def balance(chars: List[Char]): Boolean =
{
var i = 0;
var j = 0;
if (Count(i, j) == 0){
true
}
else{
false
}
def Count(count: Int, Pos: Int): Int =
{
if (Pos == chars.length)
{
count
}
else
{
if (chars(Pos) == '(')
{
Count(count + 1, Pos + 1);
}
else
{
Count(count - 1, Pos + 1);
}
}
}
}
答案 0 :(得分:8)
由{}
分隔的代码块计算其中的最后一个表达式。在这里,您的最后一个表达式是一个定义(def Count
),其定义为Unit
。因此,将您期望评估的表达式移到最后。