Definire una funzione

Occorre definire una funzione prima di poterla utilizzare. La sintassi per farlo è la seguente:


      function nome-funzione
         corpo della funzione
      end function
    

Il nome-funzione identifica la funzione in modo univoco: deve iniziare con una lettera, può essere lungo al massimo 31 caratteri (eventuali caratteri in più verranno troncati) e non può contenere spazi. Se si tenta di definire una funzione con lo stesso nome di un comando di gretl o di una funzione preesistente, si otterrà un'errore.

Il corpo della funzione è composto da comandi gretl o funzioni definite dall'utente (ossia, le funzioni possono essere nidificate). Una funzione può persino chiamare sé stessa (ossia, le funzioni possono essere ricorsive), fino a un massimo di 8 "livelli di ricorsività", ma questo valore è provvisorio, potrà essere aumentato se sembra troppo restrittivo. Se il corpo della funzione può contenere chiamate ad altre funzioni non può però contenere definizioni di altre funzioni, ossia non è possibile definire una funzione all'interno di un'altra funzione.

Le funzioni possono essere chiamate, ma non definite, all'interno di un loop (si veda il Capitolo 10).