Gosub : Return
BeschreibungGosub Sprungmarke Sprungmarke: ... Return
Gosub steht für 'Go to sub routine' ("... gehe zu einer Unterroutine"). Nach Gosub muss eine Sprungmarke angegeben werden, dann wird die Programmausführung unmittelbar ab der Position nach der Sprungmarke bis zum nächsten Return fortgesetzt. Wenn das Return erreicht wurde, wird die Programmausführung unmittelbar nach dem aufrufenden Gosub fortgesetzt.
Gosub ist nützlich, um schnellen strukturierten Code zu erstellen.
Eine weitere Technik, die verwendet werden kann, um eine Unterroutine in einen eigenständigen Programmteil einzufügen, besteht in der Nutzung von Prozeduren. Gosub kann nur im Hauptteil des Quellcodes verwendet werden, jedoch nicht innerhalb von Prozeduren.
Beispiel
a = 1 b = 2 Gosub ComplexOperation Debug a End ComplexOperation: a = b*2+a*3+(a+b) a = a+a*a Return
BeschreibungFakeReturn
Wenn mit Hilfe des Schlüsselworts Goto aus einer Unterroutine in einen anderen Programmteil (außerhalb dieser Unterroutine) gesprungen werden soll, muss FakeReturn verwendet werden. FakeReturn simuliert ein Return, ohne tatsächlich ein Return auszuführen. Wenn es nicht verwendet wird, wird das Programm abstürzen.
Hinweis: Um eine Schleife sicher zu verlassen, sollte Break anstelle von Goto verwendet werden.
Beispiel
Gosub SubRoutine1 SubRoutine1: ... If a = 10 FakeReturn Goto Main_Loop EndIf Return