GoSub...Return Statement
Vokas subproceduron specifita per etikedo de subproceduro aŭ funkcio. La ordonoj post la etikedo ruliĝas ĝis la posta ordono Return. Poste, la programo daŭros ruliĝi ĉe la ordono kiu sekvas la ordonon GoSub .
Sintakso:
vidu je Parametroj
Parametroj:
Sub/Function
ordona bloko
Etikedo
ordona bloko
GoSub Etikedo
Exit Sub/Function
Label:
ordona bloko
Return
End Sub/Function
La ordono GoSub vokas lokan subproceduron specifita per etikedo de ene de subproceduro aŭ funkcio. La nomo de la etikedo devas fini per dupunkto (":").
Se la programo renkontas ordonon Return sen antaŭa GoSub, LibreOffice Basic donas prieraran mesaĝon. Necesas Exit Sub aŭ Exit Function por certigi ke la programo eliras el la Sub aŭ Function antaŭ ol atingi la postan ordonon Return.
La jena ekzemplo montras la uzadon de GoSub kaj Return. Rulante dufoje sekcion de programo, la programo kalkulas la kvadratan radikon de du numeroj tajpitaj de la uzanto.
Ekzemplo:
Sub ExampleGoSub
Dim iInputa As Single
Dim iInputb As Single
Dim iInputc As Single
iInputa = Int(InputBox("Tajpu la unuan numeron: ","NumberInput"))
iInputb = Int(InputBox("Tajpu la duan numeron: ","NumberInput"))
iInputc=iInputa
GoSub SquareRoot
Print "La kvadrata radiko de";iInputa;" estas";iInputc
iInputc=iInputb
GoSub SquareRoot
Print "La kvadrata radiko de";iInputb;" estas";iInputc
Exit Sub
SquareRoot:
iInputc=sqr(iInputc)
Return
End Sub