IBM Lotus Symphony
|
Chama uma sub-rotina indicada por um rótulo de uma sub-rotina ou função. As instruções que se seguem ao rótulo são executadas até à próxima instrução Return. Em seguida, o programa prossegue com a instrução que se segue à instrução GoSub.
ver Parâmetros
Sub/Function
bloco de instruções
Rótulo
bloco de instruções
GoSub Label
Exit Sub/Function
Label:
bloco de instruções
Return
End Sub/Function
A instrução GoSub chama uma sub-rotina local indicada por um rótulo de uma sub-rotina ou função. O nome do rótulo terá de terminar com dois pontos (":").
![]() |
Se o programa encontrar uma instrução Return que não seja precedida por GoSub, o Lotus® Symphony™ Basic devolve uma mensagem de erro. Utilize Exit Sub ou Exit Function para garantir que o programa abandona uma Sub ou Função antes de atingir a próxima instrução Return. |
O seguinte exemplo demonstra a utilização das instruções GoSub e Return. Ao executar uma secção do programa duas vezes, o programa calcula a raiz quadrada de dois números inseridos pelo utilizador.
Sub ExampleGoSub
dim iInputa as Single
dim iInputb as Single
dim iInputc as Single
iInputa = Int(InputBox$ "Enter the first number: ","NumberInput"))
iInputb = Int(InputBox$ "Enter the second number: ","NumberInput"))
iInputc=iInputa
GoSub SquareRoot
Print "The square root of";iInputa;" is";iInputc
iInputc=iInputb
GoSub SquareRoot
Print "The square root of";iInputb;" is";iInputc
Exit Sub
SquareRoot:
iInputc=sqr(iInputc)
Return
End Sub