Inform e Glulx/Le basi di Inform/Le funzioni

Indice del libro

Sostanzialmente, possiamo definire una funzione come una serie d'istruzioni contenuta all'interno di due parentesi quadre. Rifacendoci ancora una volta all’esempio precedente, nella funzione che segue possiamo distinguere un nome, un’intestazione, un corpo e una fine:

All’interno di un listato possono essere definite più funzioni, come avviene in questo secondo esempio:

! Esempio sull'utilizzo della funzione print – versione 2

Include "Parser"; Include "VerbLib"; Include "Replace";
[ Stampa1; ClearScreen(); ! pulisce lo schermo print "Benvenuto"; Stampa2(); Stampa3(); KeyCharPrimitive(); ! legge un carattere dalla tastiera ];
[ Stampa2; print " in "; ];
[ Stampa3; print "Inform!"; ];
[ Initialise; Stampa1(); quit; ! fine del programma ];
Include "ItalianG";

il risultato è sempre lo stesso (la stampa a video della scritta "Benvenuto in Inform!"), ma cambia la modalità d’esecuzione con cui questa stampa avviene[1]. In questo esempio il programma, partendo dalla funzione Initialise, esegue la chiamata alla funzione Stampa1 stampando a video la parola "Benvenuto"; segue poi la chiamata alla funzione Stampa2 (che stampa a video la parola "in" con tanto di spazi), il ritorno alla funzione Stampa, la chiamata alla funzione Stampa3 (che stampa a video la parola "Inform!"), il ritorno alla funzione Stampa, la lettura del carattere dalla tastiera e l’uscita dal programma.

Possiamo quindi affermare che tutti i programmi in Inform partono dalla funzione Initialise.

  1. Cliccate qui per scaricare il listato di questo esercizio (il file 3.03.inf).