Differenze tra le versioni di "RETURN"
Da Gambas-it.org - Wikipedia.
(3 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> | ||
+ | |||
+ | 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 | Dim b As Byte | ||
− | + | ||
− | For b = 1 To | + | For b = 1 To 10 |
− | If b = | + | If b == 5 Then <FONT color=red>'''Return'''</font> |
− | + | Print b | |
− | |||
− | |||
Next | 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=== | |
− | ===Differenza fra " | + | 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. |
− | L'effetto prodotto dall'istruzione | + | <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. |
− | <BR>Diversamente l'istruzione | ||
Esempio: | Esempio: | ||
Riga 50: | Riga 33: | ||
− | + | Public Sub Form_Open() | |
Me.Show | Me.Show | ||
Riga 56: | Riga 39: | ||
Ciclo() | Ciclo() | ||
− | + | End | |
'''Private''' Procedure Ciclo() | '''Private''' Procedure Ciclo() | ||
− | Dim | + | Dim b As Byte |
Do | Do | ||
− | If bo Then <FONT | + | If bo Then <FONT color=red>'''Return'''</font> |
− | If | + | If b == 20 Then <FONT Color=blue>Break</font> |
− | Me. | + | Me.Title = CStr(b) |
Wait 0.3 | Wait 0.3 | ||
− | Inc | + | Inc b |
Loop | Loop | ||
− | Me. | + | Me.Title = "Istruzione successiva al ciclo 'For...Next'" |
− | + | End | |
+ | |||
− | + | Public Sub Button1_Click() | |
bo = True | bo = True | ||
− | '''End''' | + | 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