User Tools

Site Tools


k10:k10.5:k10.5.8:start

10.5.8 On GoSub

The 'On GoSub' statement exists in Gambas since version 3.2.

10.5.8.1' On GoSub' syntax

Jumps to one of the calculated labels. The evaluation of 'Expression' must result in an integer value to select a (target) label. If there is a return statement in the instructions after the target(-Label), the program returns to execute the code immediately after the 'On GoSub' statement.

On Expression GoSub Label_0 [ , Label_1 ... ]
Instruction(s) -> program continuation after RETURN

Label_0:
  Instruction(s)_0
  RETURN
Label_1:
  Instruction(s)_1
  RETURN
…

10.5.8.2 Notes on the syntax

  • If the expression results in 0, then the first label is selected, if the expression has the value 1, then the second label is selected and so on…. .
  • If the expression is negative or equal to or greater than the number of labels, then the 'On GoSub' instruction is tacitly ignored.
  • To return to Label_x: after the instructions under the calculated target(-Label) Label_x: to *, you must use the Return statement - standing alone on one line.

Download

Articles

Download


10.5.8 On GoSub

Die 'On GoSub'-Anweisung existiert in Gambas seit der Version 3.2.

10.5.8.1 'On GoSub'-Syntax

Es wird zu einem der berechneten Label gesprungen. Die Auswertung von 'Expression' muss einen Integer-Wert ergeben, um ein (Ziel-)Label auszuwählen. Wenn in den Anweisungen nach dem Ziel(-Label) eine Return-Anweisung steht, kehrt das Programm zurück, um den Code unmittelbar nach der 'On GoSub'-Anweisung auszuführen.

On Expression GoSub Label_0 [ , Label_1 ... ]
* Anweisung(en) ' → Programm-Fortsetzung nach RETURN

Label_0:
  Anweisung(en)_0
  RETURN
Label_1:
  Anweisung(en)_1
  RETURN
…

10.5.8.2 Hinweise zur Syntax

  • Wenn der Ausdruck 0 ergibt, dann wird das erste Label gewählt, wenn der Ausdruck den Wert 1 besitzt, dann wird das zweite Label ausgewählt und so weiter … .
  • Wenn der Ausdruck negativ ist oder gleich oder größer der Anzahl der Label ist, dann wird die 'On GoSub'-Anweisung stillschweigend ignoriert.
  • Um nach den Anweisungen unter dem berechneten Ziel(-Label) Label_x: nach * zurückzukehren, müssen Sie die Return-Anweisung – allein auf einer Zeile stehend – verwenden.

Download

Artikel

Download

The website uses a temporary session cookie. This technically necessary cookie is deleted when the browser is closed. You can find information on cookies in our privacy policy.
k10/k10.5/k10.5.8/start.txt · Last modified: 02.07.2018 (external edit)

Page Tools