Manuale di Gretl: Gnu Regression, Econometrics and Time-series Library | ||
---|---|---|
Indietro | Capitolo 11. Funzioni definite dall'utente | Avanti |
Lo script seguente illustra la differenza tra le variabili globali e locali. Si noti che le funzioni possono essere definite in qualsiasi punto dello script, a patto di definirle prima di usarle.
set echo off genr testvar = 1 printf "Fuori, testvar vale %d\n", testvar function pippo # genera una variabile locale genr my testvar = 2 printf "In pippo: testvar vale %d\n", testvar pluto printf "Tornando in pippo, testvar vale %d\n", testvar # genera una variabile globale genr glob = 15 end function function pluto genr my testvar = 3 printf "In pluto, testvar vale %d\n", testvar end function # Chiama pippo, che chiama pluto foo printf "Tornando fuori, testvar vale %d, glob vale %d\n", \ testvar, glob # Elenca le variabili globali ls
Eseguendo lo script si ottiene:
gretl versione 1.3.0 ... ? nulldata 5 Periodicità: 1, oss. max.: 5, intervallo: 1-5 ? set echo off Generato lo scalare testvar (ID 2) = 1 Fuori, testvar vale 1 Generato lo scalare testvar (ID 3) = 2 In pippo, testvar vale 2 Generato lo scalare testvar (ID 4) = 3 In pluto, testvar vale 3 Tornando in pippo, testvar vale 2 Generato lo scalare glob (ID 4) = 15 Tornando fuori, testvar vale 1, glob vale 15 4 variabili elencate: 0) const 1) index 2) testvar 3) glob