Інструкція GoSub...Return

Викликає підпрограму, зазначену міткою, з підпрограми або функції. Інструкція, яка йде за міткою, виконується до наступної інструкції 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