Differenze tra le versioni di "RETURN"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
'''Return''': determina l'uscita <SPAN Style="text-decoration:underline">immediata</span> e diretta dalla routine.
+
==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:
Riga 10: Riga 11:
 
  '''End'''
 
  '''End'''
  
 
+
L'istruzione '''Return''' è anche capace contestualmente di interrompere un ciclo e far uscire dalla routine:
===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()
 
  '''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 b As Byte
 
+
   
   Dim i As Integer
+
  For b = 1 To 10
 
+
    If b == 5 Then '''<FONT color=#B22222>Return</font>'''
   i = f * 1000
+
    Print b
 
+
   Next
  <FONT Color=gray>' ''Ritorna all'istruzione chiamante il valore della variabile "i":''</font>
+
  <FONT Color=#B22222>Return</font> i
+
   Print "Uscito dal solo ciclo FOR." <FONT Color=gray>' ''Ovviamente questa riga non sarà mai raggiunta''</font>
 
+
 
  '''End'''
 
  '''End'''
  
 
+
===Differenza fra "Break" e "Return" all'interno di un ciclo===
===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à <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 "''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.
+
<BR>Diversamente l'istruzione ''Break'' fa uscire il processo del codice dal ciclo, ma <SPAN Style="text-decoration:underline">non</span> causa la necessaria, diretta e immediata uscita dalla routine.
<BR>Diversamente l'istruzione "''Break''" fa uscire il processo del codice dal ciclo, ma non causa la necessaria, diretta e immediata uscita dalla routine.
 
  
 
Esempio:
 
Esempio:
Riga 58: Riga 46:
 
    
 
    
 
   Do
 
   Do
     If bo Then <FONT Color=#B22222>Return</font>
+
     If bo Then '''<FONT color=#B22222>Return</font>'''
 
     If a == 20 Then <FONT Color=blue>Break</font>
 
     If a == 20 Then <FONT Color=blue>Break</font>
 
     Me.Caption = CStr(a)
 
     Me.Caption = CStr(a)
Riga 73: Riga 61:
 
   bo = True
 
   bo = True
 
    
 
    
 +
'''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(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=#B22222>Return</font>''' i
 +
 
  '''End'''
 
  '''End'''

Versione delle 15:40, 10 gen 2022

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 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


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(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