Manuale di Gretl: Gnu Regression, Econometrics and Time-series Library
Indietro | Capitolo 11. Funzioni definite dall'utente | Avanti

# Chiamare una funzione

Una funzione utente viene chiamata, o invocata, usando il suo nome, eventualmente seguito da argomenti; se si usano due o più argomenti, vanno separati da virgole. L'esempio seguente mostra una chiamata di funzione che rispetta la definizione della funzione stessa.

          # Definizione della funzione
          function ols_ess (series y, list xvars)
            ols y 0 xvars --quiet
            scalar myess = $ess
            printf "ESS = %g\n", myess
            return scalar myess
          end function
          # Script principale
          open data4-1
          list xlist = 2 3 4
          # Chiamata della funzione (il valore restituito viene qui ignorato)
          ols_ess price, xlist

La chiamata della funzione contiene due argomenti: il primo è una serie di dati specificata per nome, e il secondo è una lista di regressori. Si noti che la funzione produce la variabile `myess` come risultato, ma in questo esempio esso è ignorato.

(Una nota a margine: se si desidera che una funzione calcoli alcuni valori che hanno a che fare con una regressione, ma non si è interessati ai risultati completi della regressione, è possibile usare l'opzione `--quiet` con il comando di stima, come visto sopra.)

Un secondo esempio mostra una chiamata di funzione che assegna i valori prodotti dalla funzione a variabili:

          # Definizione di funzione
          function ess_uhat (series y, list xvars)
            ols y 0 xvars --quiet
            scalar myess = $ess
            printf "ESS = %g\n", myess
            series uh = $uhat
            return scalar myess, series uh
          end function
          # Script principale
          open data4-1
          list xlist = 2 3 4
          # Chiamata di funzione
          (SSR, resids) = ess_uhat price, xlist

Indietro | Partenza | Avanti
Definizione di una funzione | Risali | Ambito delle variabili