| 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