Gosub : Return


Syntax
Gosub Sprungmarke

Sprungmarke:
  ...
Return
Beschreibung
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

Syntax
FakeReturn
Beschreibung
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