Post by just me » 16 May 2019, 10:16
Moin,
die
For-Schleife arbeitet intern mit einem
Enumerator-Objekt, das darauf spezialisiert ist, alle Schlüssel/Wert-Paare nacheinander in aufsteigender Reihenfolge zurückzugeben.
Bei
Loop % MeinArray.MaxIndex() weiß
MeinArray nichts davon, dass die Schleife immer den nächsten Schlüssel erwartet. So muss für jeden Schlüssel erst einmal geprüft werden, ob er existiert, d.h. die interne Tabelle mit den Schlüsseln wird jedes Mal neu durchsucht.
Soll sagen: Wenn Du die Wahl zwischen einem 'Spezialisten' (For) und einem 'Universalisten' (Loop) hast, nimm lieber den Spezi.
Grüße,
just me
Moin,
die [url=https://ahkde.github.io/docs/commands/For.htm][b]For-Schleife [/b][/url] arbeitet intern mit einem [url=https://ahkde.github.io/docs/objects/Enumerator.htm][b]Enumerator-Objekt[/b][/url], das darauf spezialisiert ist, alle Schlüssel/Wert-Paare nacheinander in aufsteigender Reihenfolge zurückzugeben.
Bei [c]Loop % MeinArray.MaxIndex()[/c] weiß [c]MeinArray[/c] nichts davon, dass die Schleife immer den nächsten Schlüssel erwartet. So muss für jeden Schlüssel erst einmal geprüft werden, ob er existiert, d.h. die interne Tabelle mit den Schlüsseln wird jedes Mal neu durchsucht.
Soll sagen: Wenn Du die Wahl zwischen einem 'Spezialisten' (For) und einem 'Universalisten' (Loop) hast, nimm lieber den Spezi.
Grüße,
just me