IBM Lotus Symphony
|
Anroper en subrutine som er markert med en etikett fra en subrutine eller en funksjon. Uttrykkene som følger etter etiketten, blir utført inntil neste Return-uttrykk. Deretter fortsetter programmet med setningen som følger etter GoSub-setningen.
se Parametere
Sub/Funksjon
setningsblokk
Etikett
setningsblokk
GoSub Etikett
Exit Sub/Function
Label:
setningsblokk
Return
End Sub/Function
GoSub-setningen anroper en lokal subrutine som er markert med en etikett inne fra en subrutine eller en funksjon. Navnet på etiketten må avsluttes med et kolon (":").
![]() |
Hvis programmet støter på et Return-uttrykk som det ikke står GoSub, returnerer Lotus Symphony en feilmelding. Bruk Exit Sub eller Exit Function for å sikre at programmet går ut av en Sub eller Funksjon før det når neste Return-uttrykk. |
Eksempelet nedenfor demonstrerer bruken av GoSub og Return. Ved å utføre en programseksjon to ganger, beregner programmet kvadratroten av to tall som er angitt av brukeren.
Sub ExampleGoSub
dim iInputa as Single
dim iInputb as Single
dim iInputc as Single
iInputa = Int(InputBox$ "Angi det første tallet: ","NumberInput"))
iInputb = Int(InputBox$ "Angi det andre tallet: ","NumberInput"))
iInputc=iInputa
GoSub SquareRoot
Print "Kvadratroten av";iInputa;" er";iInputc
iInputc=iInputb
GoSub SquareRoot
Print "Kvadratroten av";iInputb;" er";iInputc
Exit Sub
SquareRoot:
iInputc=sqr(iInputc)
Return
End Sub