Differenze tra le versioni di "RETURN"

Da Gambas-it.org - Wikipedia.
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
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:
  '''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:
===Uso di Return nelle funzioni per ritornare un valore===
+
  Public Sub Main()
L'istruzione ''Return'' è indispensabile all'interno delle funzioni, scritte dal programmatore, per ritornare un valore alla funzione chiamante.
+
 
+
   Dim b As Byte
Esempio:
+
  '''Public''' Sub Main()
+
   For b = 1 To 10
 
+
    If b == 5 Then <FONT color=red>'''Return'''</font>
   dim rit As Integer
+
    Print b
    
+
   Next
  rit = Funzione(21081.969)  <FONT Color=gray>' ''Istruzione chiamante''</font>
+
    
+
   Print "Uscito dal solo ciclo FOR." <FONT Color=gray>' ''Ovviamente questa riga non sarà mai raggiunta''</font>
   Print rit
 
 
 
  '''End'''
 
 
   
 
   
  '''Private''' Function Funzione(f As Float) As Integer  <FONT Color=gray>' ''Funzione chiamata''</font>
+
  End
 
 
  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'''
 
 
 
  
===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à immediata e definitiva, ossia non saranno eseguite altre istruzioni eventualmente sottostanti.
+
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.
<BR>Diversamente l'istruzione "''Break''" fa uscire il processo del codice dal ciclo, ma non causa la necessaria, diretta e immediata uscita dalla routine.
+
<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 45: Riga 33:
 
   
 
   
 
   
 
   
  '''Public''' Sub Form_Open()
+
  Public Sub Form_Open()
 
    
 
    
 
   Me.Show
 
   Me.Show
Riga 51: 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