Как сказано в названии, я не могу передать переменную типа Arraybuffer(Arraybuffer(Int,Int),Int)
в течение loop
:Присвоение вар ArrayBuffer в цикле: «переназначение вал»
var ab1 = ArrayBuffer(le4: _*)
var ab2 = ab1 map (ligne => (ArrayBuffer(ligne._1: _*), ligne._2))
println("ab:" + ab2)
for {
i <- 1 to ab2.length
j <- 0 to i
} {
ab2(i)._1(j)._2 = j match {
case 0 => ab2(i - 1)._1(0)._2 + ab2(i)._1(j)._1
case i => ab2(i - 1)._1(j - 1)._2 + ab2(i)._1(j)._1
case _ => ab2(i - 1)._1(j)._2 + ab2(i - 1)._1(j - 1)._1 + ab2(i)._1(j)._1
}
}
ключевым моментом является что ab2
объявлен как var, но изменение Int внутри него отрицается. Зачем?
Возможный дубликат [В чем разница между определением var и val в Scala?] (Http://stackoverflow.com/questions/1791408/what-is-the-difference-between-a-var-and- val-definition-in-scala) – senia