Gosub: Return
Gosub/Return | FakeReturn |
Gosub MyLabel MyLabel: ... Return
Описание
Gosub означает 'Иди в подпрограмму' ('Go to sub routine'). После Gosub должна быть указана MyLabel: (Метка). Программа продолжит выполнение с позиции, заданной этой меткой, и будет делать это пока не встретит Return. По достижении ключевого слова return выполнение программы передаётся на позицию сразу под Gosub.
Команда Gosub полезна при быстром создании структурированного кода.
Другой приём, с помощью которого можно вставить подпрограмму в самостоятельный компонент программы, это процедуры. Gosub можно использовать только внутри основного кода, но нельзя использовать внутри процедур.
Пример
a = 1 b = 2 Gosub ComplexOperation Debug a End ComplexOperation: a = b*2+a*3+(a+b) a = a+a*a Return
FakeReturn
Описание
Если команда Goto используется внутри подпрограммы, следует использовать FakeReturn. FakeReturn имитирует return без выполнения возврата, и если его не использовать, программа даст сбой. Примечание: Чтобы безопасно завершить цикл, вместо Goto следует использовать Break
Пример
Gosub SubRoutine1 SubRoutine1: ... If a = 10 FakeReturn Goto Main_Loop EndIf Return