Modulo
Contenuto
Indice 🔎︎

# Istruzione GoSub...Return

Chiama una subroutine indicata con un'etichetta da una subroutine o da una funzione. Le istruzioni che seguono l'etichetta vengono eseguite fino alla successiva istruzione Return. In seguito, il programma continua con l'istruzione successiva a GoSub.

## Sintassi:

    vedere Parametri

## Parametri:

Sub/Function

blocco istruzioni

Didascalia

blocco istruzioni

GoSub Etichetta

Exit Sub/Function

Etichetta:

blocco istruzioni

Return

End Sub/Function

L'istruzione GoSub chiama una subroutine locale indicata con un'etichetta dall'interno di una subroutine o di una funzione. Il nome dell'etichetta deve terminare con due punti (":").

Se il programma incontra un'istruzione Return che non è preceduta da GoSub, LibreOffice Basic restituisce un messaggio di errore. Usate Exit Sub o Exit Function per fare in modo che il programma esca dalla subroutine o dalla funzione prima di raggiungere la successiva istruzione Return.

L'esempio seguente illustra l'uso di GoSub e Return. Eseguendo una sezione del programma due volte, il programma calcola la radice quadrata di due numeri inseriti dall'utente.

## Esempio:

    Sub ExampleGoSub

    Dim iInputa As Single

    Dim iInputb As Single

    Dim iInputc As Single

        iInputa = Int(InputBox("Inserite il primo numero: ","NumeroInput"))

        iInputb = Int(InputBox("Inserite il secondo numero: ","NumeroInput"))

        iInputc=iInputa

        GoSub SquareRoot

        Print "La radice quadrata di";iInputa;" è";iInputc

        iInputc=iInputb

        GoSub SquareRoot

        Print "La radice quadrata di";iInputb;" è";iInputc

        Exit Sub

    SquareRoot:

        iInputc=sqr(iInputc)

        Return

    End Sub