4

我一直在尝试运行此代码,但不知何故遇到了“单元不匹配,布尔预期错误”。我在 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);
                }
            }
    }     
  } 
4

1 回答 1

8

由 分隔的代码块{}计算为其中的最后一个表达式。在这里,您的最后一个表达式是定义 ( def Count),其计算结果为Unit。因此,将您希望评估的表达式移到末尾。

于 2013-09-29T21:56:35.217 回答