7
ほんの少し前に、私はPaul Philipの要点https://gist.github.com/paulp/9085746が見つかりました。私は、任意の説明を見つけることができませんでした どのようにしている可能性がscala可変値リスト
簡略化されたコードスニペット:
そこで何が起こっているのかtoIterable
val buf = new ListBuffer[Int]()
buf ++= Seq(1,2,3)
val lst: List[Int] = buf.toList
println(lst) //List(1,2,3)
buf ++= Seq(4,5,6)
println(lst) //List(1,2,3)
せずに期待どおりに動作します
val buf = new ListBuffer[Int]()
buf ++= Seq(1,2,3)
val lst: List[Int] = buf.toIterable.toList
println(lst) //List(1,2,3)
buf ++= Seq(4,5,6)
println(lst) //List(1,2,3,4,5,6)
?
これはバグですよね?私は、この動作が実際には意図されていないということを意味します... – Dima
@Dima私はそれがバグだと思っています – Odomontois
実際には 'append'だけではないようです:例えば' buf - = 3'は '最初 – Dima