Differenze tra le versioni di "RETURN"
Da Gambas-it.org - Wikipedia.
Riga 13: | Riga 13: | ||
Next | Next | ||
+ | '''End''' | ||
+ | |||
+ | |||
+ | ===Uso di Return nelle funzioni per ritornare un valore=== | ||
+ | L'istruzione ''Return'' è indispensabile all'interno delle funzioni, scritte dal programmatore, per ritornare un valore alla funzione chiamante. | ||
+ | |||
+ | Esempio: | ||
+ | '''Public''' Sub Main() | ||
+ | |||
+ | dim rit As Integer | ||
+ | |||
+ | rit = Funzione(21081.969) <FONT Color=gray>' ''Istruzione chiamante''</font> | ||
+ | |||
+ | Print rit | ||
+ | |||
+ | '''End''' | ||
+ | |||
+ | '''Private''' Function Funzione(si As Single) As Integer <FONT Color=gray>' ''Funzione chiamata''</font> | ||
+ | |||
+ | Dim i As Integer | ||
+ | |||
+ | i = si * 1000 | ||
+ | |||
+ | <FONT Color=gray>' ''Ritorna alla funzione chiamante il valore della variabile "i":''</font> | ||
+ | <FONT Color=#B22222>Return</font> i | ||
+ | |||
'''End''' | '''End''' | ||
Versione delle 00:05, 12 ago 2020
Return: determina l'uscita immediata e diretta dalla routine.
Esempio:
Public Sub Button1_Click() Dim a As Byte For a = 1 To 100 If a = 55 Then Print "a = "; a Return Endif Next End
Uso di Return nelle funzioni per ritornare un valore
L'istruzione Return è indispensabile all'interno delle funzioni, scritte dal programmatore, per ritornare un valore alla funzione chiamante.
Esempio:
Public Sub Main() dim rit As Integer rit = Funzione(21081.969) ' Istruzione chiamante Print rit End Private Function Funzione(si As Single) As Integer ' Funzione chiamata Dim i As Integer i = si * 1000 ' Ritorna alla funzione chiamante il valore della variabile "i": Return i End
Differenza fra "Break" e "Return" all'interno di un ciclo
L'effetto prodotto dall'istruzione "Return" all'interno di un ciclo consiste nella circostanza che l'uscita dalla routine sarà immediata e definitiva, ossia non saranno eseguite altre istruzioni eventualmente sottostanti.
Diversamente l'istruzione "Break" fa uscire il processo del codice dal ciclo, ma non causa la necessaria, diretta e immediata uscita dalla routine.
Esempio:
bo As Boolean Public Sub Form_Open() Me.Show Ciclo() End Private Procedure Ciclo() Dim a As Byte Do If bo Then Return If a == 20 Then Break Me.Caption = CStr(a) Wait 0.3 Inc a Loop Me.Caption = "Istruzione successiva al ciclo 'For...Next'" End Public Sub Button1_Click() bo = True End