-7

誰かが最初の問題で私を助けることができますか?宣言をチェックする関数を作成しましたが、要素Symbol()をListenvに追加できません。何が問題なのかわかりません。

def check_decl(env: List[Symbol])(decl: Declare): Unit = decl match{
case VarDec(varName, varType)=>{
  lookupForInsert(env)(varName.toString()) match {
    case Some(_) => throw Redeclared(Variable,varName.toString())
    case None => {
          varType match{
          case ArrayType(lower, upper, element)=>{
            if(lower > upper) throw SizeIsNotNegative(decl)
          }
          case IntType=>
          case RealType=>
          case BoolType=>
          case StringType=>
        }             
    }
  }
}
4

1 に答える 1

0

Scala では、デフォルトで不変のリストがあり、リストに何かを「追加」することはできません。Java でリスト (またはより類似したスタック) を変更するすべての操作は、Scala で新しい、変更されたリストになります。ListBufferまたは、 Java リストのように動作する のような変更可能なクラスがあります。

于 2012-11-05T16:03:45.400 に答える