PureBasic

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