RETURN: differenze tra le versioni

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
 
(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 17: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