Ich benutze scala 2.9.1, wenn ich diesen Code versuche:
%Vor%Das Ergebnis war etwas wie
%Vor%, die nicht alle Elemente von a aufgelistet hat. Danach wird a zu Set (9, 7) statt leerer Satz. Es sieht sehr seltsam für mich aus, ist es ein Fehler oder wir können das Set selbst nicht ändern, wenn wir foreach machen?
Sie dürfen eine Sammlung nicht ändern, während Sie sie durchlaufen oder darüber iterieren.
Das ist in Scala genauso wie in Java (und den meisten anderen Programmiersprachen / Bibliotheken). Außer in Java bietet die Klasse Iterator
eine remove
-Methode, die anstelle der Methode remove
der Sammlung verwendet werden kann, um Elemente beim Iterieren mit Iterator
zu entfernen (jedoch werden alle anderen Iteratoren dieser Auflistung ungültig) in Benutzung sein). Scala Iteratoren bieten keine solche Methode.
Tags und Links scala mutable foreach scala-collections