访问for中的列表列表

罗德里戈

我在scala中有以下代码无法正常工作:

 var tacTable : List[List[TACList]] = List(List())

  def gen(p: Program) = {
    for (i <- 0 to p.classes.length){
      for (j <- 0 to p.classes(i).methods.length){
        var tacInstr = new TACList()
        tacTable(i)(j) = tacInstr //error: application does not take parameters
      }
    }
  }

显然,这与以下事实有关:我正在使用j访问列表,并且j用于...这如何解决呢?

为了方便起见,您可以使用另一个给出相同错误的示例:

var l : List[List[Int]] = List(List(1,2),List(3,4))
for (i <- 0 to l.length) {
  for (j <- 0 to l.length) {
    l(i)(j) = 8
  }
}  
迪玛

列表是不可变的。尝试以下方法:

 val tacTable  = p.classes.map { _.methods.map { _ =>
     new TACList()
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章