von drbrode » Mi, 13.09.2023 10:36
Hallo zusammen,
ich habe heute ein sehr seltsames Verhalten eines Makros festgestellt, welches ich so nicht erwartet habe. Konkret geht es um dieses Script
Code: Alles auswählen
sub test6
dim List(3)
dim tmpList(2)
for n = 0 to 3
tmpList(0) = n
tmpList(1) = n
tmpList(2) = n
List(n) = tmpList
next n
end sub
Meine Erwartung war, dass sich im Array "List" am Ende vier "Unterarrays" befinden, die mit unterschiedlichen Werten gefüllt sind. Also
(0, 0, 0)
(1, 1, 1)
(2, 2, 2)
(3, 3, 3)
Stattdessen ergalte ich
(3, 3, 3)
(3, 3, 3)
(3, 3, 3)
(3, 3, 3)
Ist das normal und so gewollt? Kann ich mir irgendwie nicht vorstellen.
Ich habe jetzt schon eine längere Zeit nichts mehr programmiert, bin mir aber relativ sicher, dass das vor einiger Zeit noch nicht so war. Oder stehe ich hier gerade komplett auf dem Schlauch...?
Bin dankbar für eure Kommentare!
Hallo zusammen,
ich habe heute ein sehr seltsames Verhalten eines Makros festgestellt, welches ich so nicht erwartet habe. Konkret geht es um dieses Script
[code]sub test6
dim List(3)
dim tmpList(2)
for n = 0 to 3
tmpList(0) = n
tmpList(1) = n
tmpList(2) = n
List(n) = tmpList
next n
end sub[/code]
Meine Erwartung war, dass sich im Array "List" am Ende vier "Unterarrays" befinden, die mit unterschiedlichen Werten gefüllt sind. Also
(0, 0, 0)
(1, 1, 1)
(2, 2, 2)
(3, 3, 3)
Stattdessen ergalte ich
(3, 3, 3)
(3, 3, 3)
(3, 3, 3)
(3, 3, 3)
Ist das normal und so gewollt? Kann ich mir irgendwie nicht vorstellen.
Ich habe jetzt schon eine längere Zeit nichts mehr programmiert, bin mir aber relativ sicher, dass das vor einiger Zeit noch nicht so war. Oder stehe ich hier gerade komplett auf dem Schlauch...?
Bin dankbar für eure Kommentare!