Ricerca…


Introduzione alle procedure

Un Sub è una procedura che esegue un'attività specifica ma non restituisce un valore specifico.

Sub ProcedureName ([argument_list])
    [statements]
End Sub

Se non viene specificato alcun modificatore di accesso, una procedura è Public per impostazione predefinita.

Una Function è una procedura a cui vengono dati dati e restituisce un valore, idealmente senza effetti collaterali globali o di ambito modulo.

Function ProcedureName ([argument_list]) [As ReturnType]
    [statements]
End Function

Una Property è una procedura che incapsula i dati del modulo. Una proprietà può avere fino a 3 di accesso: Get per restituire un valore di riferimento o un oggetto, Let per assegnare un valore, e / o Set per assegnare un riferimento a un oggetto.

Property Get|Let|Set PropertyName([argument_list]) [As ReturnType]
    [statements]
End Property

Le proprietà vengono solitamente utilizzate nei moduli di classe (sebbene siano consentite anche nei moduli standard), esponendo l'accesso a dati altrimenti inaccessibili al codice chiamante. Una proprietà che espone solo un accessorio Get è "di sola lettura"; una proprietà che esporrebbe solo un accessorio Let e / o Set è "di sola scrittura". Le proprietà di sola scrittura non sono considerate una buona pratica di programmazione: se il codice client può scrivere un valore, dovrebbe essere in grado di leggerlo . Considerare l'implementazione di una procedura Sub invece di creare una proprietà di sola scrittura.

Restituzione di un valore

Una procedura Function o Property Get può (e dovrebbe!) Restituire un valore al proprio chiamante. Questo viene fatto assegnando l'identificatore della procedura:

Property Get Foo() As Integer
    Foo = 42
End Property

Funzione con esempi

Come detto sopra, le funzioni sono procedure più piccole che contengono piccoli pezzi di codice che possono essere ripetitivi all'interno di una procedura.

Le funzioni vengono utilizzate per ridurre la ridondanza nel codice.

Simile a una procedura, una funzione può essere dichiarata con o senza un elenco di argomenti.

La funzione è dichiarata come un tipo di ritorno, poiché tutte le funzioni restituiscono un valore. Il nome e la variabile di ritorno di una funzione sono gli stessi.

  1. Funzione con parametro:

     Function check_even(i as integer) as boolean
     if (i mod  2) = 0 then
     check_even = True
     else
     check_even=False
     end if
     end Function
    
  2. Funzione senza parametro:

     Function greet() as String
     greet= "Hello Coder!"
     end Function
    

La funzione può essere chiamata in vari modi all'interno di una funzione. Poiché una funzione dichiarata con un tipo di ritorno è fondamentalmente una variabile. è usato simile a una variabile.

Chiamate funzionali:

    call greet() 'Similar to a Procedural call just allows the Procedure to use the
                 'variable greet 
    string_1=greet() 'The Return value of the function is used for variable
                     'assignment

Inoltre, la funzione può essere utilizzata anche come condizioni per if e altre istruzioni condizionali.

      for i = 1 to 10
      if check_even(i) then
      msgbox i & " is Even"
      else
      msgbox i & " is Odd"
      end if
      next i

Ulteriori ulteriori funzioni possono avere modificatori come Per ref e Per val per i loro argomenti.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow