Instrucción GoSub… Return

Llama a una subrutina indicada por una etiqueta desde una subrutina o una función. La instrucción que sigue a la etiqueta se ejecuta mientras no se encuentre una instrucción Return. Después el programa continúa con la instrucción que sigue a GoSub .

Sintaxis:

Consulte los parámetros

Parámetros:

Sub/Function

bloque de instrucciones

Etiqueta

bloque de instrucciones

Etiqueta GoSub

Exit Sub/Function

Etiqueta:

bloque de instrucciones

Return

Final de Sub/Function

La instrucción GoSub llama a una subrutina local indicada por una etiqueta desde dentro de una subrutina o función. El nombre de la etiqueta debe terminar con un carácter de dos puntos (":").

Icono de advertencia

Si el programa encuentra una instrucción Return que no va precedida de GoSub, LibreOffice Basic devuelve un mensaje de error. Use Exit Sub o Exit Function para asegurarse de que el programa salga de una Sub o Function antes de llegar a la siguiente instrucción Return.


El ejemplo siguiente demuestra el uso de GoSub y Return. Al ejecutar una sección de programa dos veces, éste calcula la raíz cuadrada de dos números que ha introducido el usuario.

Ejemplo:

Sub ExampleGoSub

Dim iInputa As Single

Dim iInputb As Single

Dim iInputc As Single

    iInputa = Int(InputBox("Escriba el primer número: ","Entrada de número"))

    iInputb = Int(InputBox("Escriba el segundo número: ","Entrada de número"))

    iInputc=iInputa

    GoSub SquareRoot

    Print "La raíz cuadrada de";iInputa;" es";iInputc

    iInputc=iInputb

    GoSub SquareRoot

    Print "La raíz cuadrada de";iInputb;" es";iInputc

    Exit Sub

SquareRoot:

    iInputc=sqr(iInputc)

    Return

End Sub