Thread Arrays zusammenführen/mergen (16 answers)
Opened by styx-cc at 2020-03-13 21:20

haj
 2020-03-14 13:14
#191529 #191529
User since
2015-01-07
557 Artikel
BenutzerIn

user image
2020-03-14T09:31:57 Raubtier
Generell würde ich immer dringend davon abraten (!) ein einer Loop über ein Objekt dieses auch (strukturell) zu verändern.

Das ist zwar richtig, aaaber: Nicht schuldig, Euer Ehren! Das macht nämlich der Code von styx-cc gar nicht.

Mit keys %$ranges wird ein Array erzeugt, das den Zustand des Hash zu Beginn der Schleife darstellt, und über dieses Array läuft die Schleife. Wenn dann in der Schleife Keys aus dem Hash verschwinden können, dann ist exists absolut robust. Der Hash und das Array, über das die Schleife läuft, sind voneinander unabhängig.

Man könnte sich auf zwei Wegen in dieses Knie schießen:
  • Indem man mit while (my ($key,$value) = each %ranges) über den Hash iteriert oder
  • Indem man die Datenstruktur als Array anlegt und dann über dieses Array schleift.

In diesen beiden Fällen iteriert man tatsächlich über die Struktur, die geändert werden soll und... richtig, das sollte man nicht tun.

View full thread Arrays zusammenführen/mergen