Πρόταση GoSub...Return

Καλεί μια τοπική υπορουτίνα που υποδεικνύεται από μια ετικέτα από μια υπορουτίνα ή μια συνάρτηση. Οι προτάσεις μετά από την ετικέτα εκτελούνται μέχρι την επόμενη πρόταση Return. Κατόπιν, το πρόγραμμα συνεχίζεται με την πρόταση που ακολουθεί την πρόταση GoSub.

Σύνταξη:

δείτε Παράμετροι

Παράμετροι:

Sub/Function

ομάδα προτάσεων

Ετικέτα

ομάδα προτάσεων

Ετικέτα GoSub

Exit Sub/Function

Ετικέτα:

ομάδα προτάσεων

Επιστροφή

End Sub/Function

Η πρόταση GoSub καλεί μια τοπική υπορουτίνα που υποδεικνύεται από μια ετικέτα μέσα από μια υπορουτίνα ή μια συνάρτηση. Το όνομα της ετικέτας πρέπει να τελειώσει με διπλή τελεία (":").

Εικονίδιο προειδοποίησης

Αν το πρόγραμμα συναντήσει μια πρόταση Return χωρίς να προηγείται μια GoSub, η LibreOffice Basic επιστρέφει ένα μήνυμα σφάλματος. Χρησιμοποιείστε Exit Sub ή την Exit Function για να βεβαιωθείτε ότι το πρόγραμμα θα αφήσει μια διαδικασία Sub ή Function πριν φθάσει στην επόμενη πρόταση Return.


Το ακόλουθο παράδειγμα παρουσιάζει τη χρήση των GoSub και Return. Εκτελώντας δύο φορές κάποια ενότητα του προγράμματος, το πρόγραμμα υπολογίζει την τετραγωνική ρίζα δύο αριθμών που έχει εισάγει ο χρήστης.

Παράδειγμα:

Sub ExampleGoSub

Dim iInputa As Single

Dim iInputb As Single

Dim iInputc As Single

    iInputa = Int(InputBox("Εισάγετε τον πρώτο αριθμό: ","ΕίσοδοςΑριθμού"))

    iInputb = Int(InputBox(" Εισάγετε τον δεύτερο αριθμό: ","ΕίσοδοςΑριθμού"))

    iInputc=iInputa

    GoSub SquareRoot

    Print "Η τετραγωνική ρίζα του";iInputa;" είναι ";iInputc

    iInputc=iInputb

    GoSub SquareRoot

    Print "Η τετραγωνική ρίζα του ";iInputb;" είναι ";iInputc

    Exit Sub

SquareRoot:

    iInputc=sqr(iInputc)

    Return

End Sub