Differenze tra le versioni di "RETURN"

Da Gambas-it.org - Wikipedia.
 
(7 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
'''Return''': determina l'uscita 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:
  '''Public''' Sub Button1_Click()
+
  Public Procedure Esempio(b As Byte)
 
   
 
   
Dim a As Byte
+
  If b < 100 Then <FONT color=red>'''Return'''</font>
 
   
 
   
  For a = 1 To 100
+
  Print b
  If a = 55 Then
+
 
    Print "a = "; a
+
End
    '''<FONT color=#B22222>Return</font>'''
+
 
  Endif
+
L'istruzione '''Return''' è anche capace contestualmente di interrompere un ciclo e far uscire dalla routine:
Next
+
Public Sub Main()
 +
 +
  Dim b As Byte
 +
   
 +
  For b = 1 To 10
 +
    If b == 5 Then <FONT color=red>'''Return'''</font>
 +
    Print b
 +
  Next
 
   
 
   
  '''End'''
+
  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 "''Break''" e "''Return''"===
+
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 "''Return''" consiste nella circostanza che l'uscita dalla routine sarà definitiva, ossia non saranno eseguite altre istruzioni eventualmente sottostanti.
+
<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:
 
Esempio:
Riga 23: Riga 33:
 
   
 
   
 
   
 
   
  '''Public''' Sub Form_Open()
+
  Public Sub Form_Open()
 
    
 
    
 
   Me.Show
 
   Me.Show
Riga 29: Riga 39:
 
   Ciclo()
 
   Ciclo()
 
    
 
    
  '''End'''
+
  End
 
   
 
   
 
  '''Private''' Procedure Ciclo()
 
  '''Private''' Procedure Ciclo()
 
    
 
    
   Dim a As Byte
+
   Dim b As Byte
 
    
 
    
 
   Do
 
   Do
     If bo Then <FONT Color=#B22222>Return</font>
+
     If bo Then <FONT color=red>'''Return'''</font>
     If a == 20 Then <FONT Color=blue>Break</font>
+
     If b == 20 Then <FONT Color=blue>Break</font>
     Me.Caption = CStr(a)
+
     Me.Title = CStr(b)
 
     Wait 0.3
 
     Wait 0.3
     Inc a
+
     Inc b
 
   Loop
 
   Loop
 
    
 
    
   Me.Caption = "Istruzione successiva al ciclo 'For...Next'"
+
   Me.Title = "Istruzione successiva al ciclo 'For...Next'"
 
    
 
    
  '''End'''
+
  End
 
   
 
   
  '''Public''' Sub Button1_Click()
+
   
 +
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