在Scala中键入Mismatch

时间:2013-09-21 13:45:20

标签: scala types mismatch

我在代码的最后一行中出现类型不匹配

 def balance(chars: List[Char]): Boolean = {

 def f(chars: List[Char], count: Int) :Boolean= 
  if(chars.isEmpty) {(count==0)}

      else if (chars.head == '(') f(chars.tail,count+1)
      else if(chars.head == ')') f(chars.tail,count-1)
      else f(chars.tail,count) 

 }  //Type mismatch; found: unit required Boolean

1 个答案:

答案 0 :(得分:1)

balance期望Boolean作为返回值,但您只定义了f并且在balance中没有做任何其他事情。遗漏可能是f(chars, 0)作为balance中的最后一句话。