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

¡Necesitamos su ayuda!