Differenze tra le versioni di "RETURN"
Da Gambas-it.org - Wikipedia.
(Creata pagina con ''''Return''': determina l'uscita dalla routine. Esempio: '''Public''' Sub Button1_Click() Dim a As Byte For a = 1 To 100 If a = 55 Then Print "a = "; a ''...') |
|||
(8 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | '''Return''' | + | ==Uso di Return nelle routine per uscire da esse== |
+ | '''Return''' determina l'uscita <SPAN Style="text-decoration:underline">immediata</span> e diretta dalla routine. | ||
Esempio: | Esempio: | ||
− | + | Public Procedure Esempio(b As Byte) | |
− | + | If b < 100 Then <FONT color=red>'''Return'''</font> | |
− | For | + | Print b |
− | + | ||
− | + | End | |
− | + | ||
− | + | L'istruzione '''Return''' è anche capace contestualmente di interrompere un ciclo e far uscire dalla routine: | |
− | + | Public Sub Main() | |
+ | |||
+ | Dim b As Byte | ||
+ | |||
+ | For b = 1 To 10 | ||
+ | If b == 5 Then <FONT color=red>'''Return'''</font> | ||
+ | Print b | ||
+ | Next | ||
+ | |||
+ | Print "Uscito dal solo ciclo FOR." <FONT Color=gray>' ''Ovviamente questa riga non sarà mai raggiunta''</font> | ||
+ | |||
+ | 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 <SPAN Style="text-decoration:underline">dalla routine</span> sarà <SPAN Style="text-decoration:underline">immediata e definitiva</span>, ossia non saranno eseguite altre istruzioni eventualmente sottostanti presenti nella routine. | ||
+ | <BR>Diversamente l'istruzione ''Break'' fa uscire il processo del codice soltanto e semplicemente dal ciclo, ma <SPAN Style="text-decoration:underline">non</span> 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 b As Byte | ||
+ | |||
+ | Do | ||
+ | If bo Then <FONT color=red>'''Return'''</font> | ||
+ | If b == 20 Then <FONT Color=blue>Break</font> | ||
+ | Me.Title = CStr(b) | ||
+ | Wait 0.3 | ||
+ | Inc b | ||
+ | Loop | ||
+ | |||
+ | Me.Title = "Istruzione successiva al ciclo 'For...Next'" | ||
+ | |||
+ | End | ||
+ | |||
+ | |||
+ | Public Sub Button1_Click() | ||
+ | |||
+ | bo = True | ||
+ | |||
+ | End | ||
+ | |||
+ | |||
+ | ==Uso di Return nelle funzioni per ritornare un valore== | ||
+ | L'istruzione ''Return'' è utilizzato 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(f As Float) As Integer <FONT Color=gray>' ''Funzione chiamata''</font> | ||
+ | |||
+ | Dim i As Integer | ||
+ | |||
+ | i = f * 1000 | ||
+ | |||
+ | <FONT Color=gray>' ''Ritorna all'istruzione chiamante il valore della variabile "i":''</font> | ||
+ | <FONT color=red>'''Return'''</font> i | ||
− | + | End |
Versione attuale delle 16:09, 6 lug 2024
Uso di Return nelle routine per uscire da esse
Return determina l'uscita immediata e diretta dalla routine.
Esempio:
Public Procedure Esempio(b As Byte) If b < 100 Then Return Print b End
L'istruzione Return è anche capace contestualmente di interrompere un ciclo e far uscire dalla routine:
Public Sub Main() Dim b As Byte For b = 1 To 10 If b == 5 Then Return Print b Next Print "Uscito dal solo ciclo FOR." ' Ovviamente questa riga non sarà mai raggiunta 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 presenti nella routine.
Diversamente l'istruzione Break fa uscire il processo del codice soltanto e semplicemente 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 b As Byte Do If bo Then Return If b == 20 Then Break Me.Title = CStr(b) Wait 0.3 Inc b Loop Me.Title = "Istruzione successiva al ciclo 'For...Next'" End Public Sub Button1_Click() bo = True End
Uso di Return nelle funzioni per ritornare un valore
L'istruzione Return è utilizzato 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(f As Float) As Integer ' Funzione chiamata Dim i As Integer i = f * 1000 ' Ritorna all'istruzione chiamante il valore della variabile "i": Return i End