У меня есть следующий фрагмент кода в Скале, который не работает:Доступ к списку списков внутри а, для
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
}
}
Можете ли вы опубликовать [MCVE] вашей проблемы? –
Возможно, потому что 'List' является неизменным, и вы не можете« обновить »его на месте. Используйте 'mutable.ListBuffer' или что-то в этом роде. –