Інструкція 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