The 'On GoSub' statement exists in Gambas since version 3.2.
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 …
Die 'On GoSub'-Anweisung existiert in Gambas seit der Version 3.2.
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 …