Unterprogramme in Batchdateien sind relativ einfach zu bewerkstelligen.
Einfach ein Sprungmarke schreiben, ein goto :EOF und ein call :label. Nutzt das Unterprogramm jedoch ein setlocal-endlocal-Block, möchte man vielleicht
Variablenänderungen des Unterprogramms in den darüberliegenden
Gültigkeitsbereich weiterreichen, allerdings setlocal
beibehalten, falls man exzessiv lokale Variablen nutzt.
endlocal ausgeführt wird. Das set danach hingegen wird nach endlocal ausgeführt und beeinflußt demzufolge
schon wieder den äußeren Gültigkeitsbereich aber die Variable ist schon
ersetzt worden und folglich können wir hierüber den Gültigkeitsbereich
überschreiten.
Anmerkung: Ich habe diesen Trick bei Paul Sadowski schon gesehen und befand ihn des Merkens wert. Bislang habe ich es allerdings noch nicht allzu häufig benötigt. Meine geplante Bignum-Implementierung wird davon allerdings ausnehmend Gebrauch machen.
Kommentare
Neuen Kommentar abgeben