Differenze tra le versioni di "RETURN"

Da Gambas-it.org - Wikipedia.
 
Riga 3: Riga 3:
  
 
Esempio:
 
Esempio:
  '''Public''' Procedure Esempio(b As Byte)
+
  Public Procedure Esempio(b As Byte)
 +
 +
  If b < 100 Then <FONT color=red>'''Return'''</font>
 
   
 
   
  If b < 100 Then '''<FONT color=#B22222>Return</font>'''
 
 
 
 
   Print b
 
   Print b
 
    
 
    
  '''End'''
+
  End
  
 
L'istruzione '''Return''' è anche capace contestualmente di interrompere un ciclo e far uscire dalla routine:
 
L'istruzione '''Return''' è anche capace contestualmente di interrompere un ciclo e far uscire dalla routine:
  '''Public''' Sub Main()
+
  Public Sub Main()
 
   
 
   
 
   Dim b As Byte
 
   Dim b As Byte
 
   
 
   
 
   For b = 1 To 10
 
   For b = 1 To 10
     If b == 5 Then '''<FONT color=#B22222>Return</font>'''
+
     If b == 5 Then <FONT color=red>'''Return'''</font>
 
     Print b
 
     Print b
 
   Next
 
   Next
Riga 23: Riga 23:
 
   Print "Uscito dal solo ciclo FOR."  <FONT Color=gray>' ''Ovviamente questa riga non sarà mai raggiunta''</font>
 
   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===
Riga 33: Riga 33:
 
   
 
   
 
   
 
   
  '''Public''' Sub Form_Open()
+
  Public Sub Form_Open()
 
    
 
    
 
   Me.Show
 
   Me.Show
Riga 39: 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==
 
==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.
+
L'istruzione ''Return'' è utilizzato all'interno delle funzioni, scritte dal programmatore, per ritornare un valore alla funzione chiamante.
  
 
Esempio:
 
Esempio:
  '''Public''' Sub Main()
+
  Public Sub Main()
 
    
 
    
 
   dim rit As Integer
 
   dim rit As Integer
Riga 75: Riga 76:
 
    
 
    
 
   Print rit
 
   Print rit
 
 
'''End'''
 
 
   
 
   
  '''Private''' Function Funzione(f As Float) As Integer  <FONT Color=gray>' ''Funzione chiamata''</font>
+
  End
 +
 +
 +
Private Function Funzione(f As Float) As Integer  <FONT Color=gray>' ''Funzione chiamata''</font>
 
    
 
    
 
   Dim i As Integer
 
   Dim i As Integer
Riga 85: Riga 87:
 
    
 
    
 
  <FONT Color=gray>' ''Ritorna all'istruzione chiamante il valore della variabile "i":''</font>
 
  <FONT Color=gray>' ''Ritorna all'istruzione chiamante il valore della variabile "i":''</font>
   '''<FONT color=#B22222>Return</font>''' i
+
   <FONT color=red>'''Return'''</font> i
 
   
 
   
  '''End'''
+
  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