Πρόταση 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