GoSub...Return Statement

Вызывает подпрограмму, указанную меткой, из подпрограммы или функции. Инструкция, которая идёт за меткой, выполняется до следующей инструкции Return. Затем программа продолжает работу с инструкции, следующей за инструкцией GoSub.

Синтаксис

см. параметры

Параметры:

Sub/Function

Участок_программы

Надпись

Участок_программы

GoSub Метка

Exit Sub/Function

Метка:

Участок_программы

Return

End Sub/Function

Инструкция GoSub вызывает локальную подпрограмму, указанную меткой, из процедуры или функции. Имя метки должно заканчиваться двоеточием (":").

Значок предупреждения

Если программа встречает инструкцию Return, которой не предшествует инструкция GoSub, LibreOffice Basic возвращает сообщение об ошибке. Используйте инструкцию Exit Sub или Exit Function, чтобы гарантировать, что программа выйдет из процедуры или функции, прежде чем достигнет следующей инструкции Return.


В следующем примере демонстрируется использование инструкций GoSub и Return. Выполняя участок программы дважды, программа вычисляет квадратный корень двух чисел, введенных пользователем.

Пример:

Sub ExampleGoSub

Dim iInputa As Single

Dim iInputb As Single

Dim iInputc As Single

    iInputa = Int(InputBox("Введите первое число: ","Ввод числа"))

    iInputb = Int(InputBox("Введите второе число: ","Ввод числа"))

    iInputc=iInputa

    GoSub SquareRoot

    Print "Квадратный корень из";iInputa;" равен";iInputc

    iInputc=iInputb

    GoSub SquareRoot

    Print "Квадратный корень из";iInputb;" равен";iInputc

    Exit Sub

SquareRoot:

    iInputc=sqr(iInputc)

    Return

End Sub