Linguaggio Lua

LUA è un linguaggio di programmazione dinamico, riflessivo, imperativo e procedurale utilizzato come linguaggio di scripting di uso generico.

Lua è stato creato nel 1993 da Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes, membri del Tecgraf/PUC-RIO, il gruppo di Tecnologia em Computação Gráfica presso la Pontificia Università Cattolica di Rio de Janeiro, in Brasile. Versioni di Lua precedenti alla versione 5.0 furono rilasciate sotto licenza simile alla licenza zlib. Dalla versione 5.0 Lua è stato rilasciato sotto licenza MIT. In un articolo pubblicato in Dr. Dobb’s Journal, i creatori di Lua affermavano che Lisp e Scheme con la loro tipica struttura dati, la lista, hanno avuto la maggiore influenza sulla decisione di adottare la tabella come struttura dati primaria in Lua. Lua è stato usato in molte applicazioni, commerciali e non. (Lua, s.d.)

Caratteristiche del linguaggio

Le caratteristiche principali di Lua sono le funzioni viste come “oggetti” di primo livello, assegnabili a variabili, e l’uso di tabelle come strutture dati generiche.

Queste particolarità permettono al linguaggio di implementare caratteristiche viste in linguaggi orientati agli oggetti senza che lo stesso lo sia. (Lua, s.d.)

Lua e Nios4

La scelta di utilizzare Lua come sotto linguaggio per Nios4 deriva dall’importante peculiarità di essere disponibile per tutti i dispositivi della piattaforma, permettendo di distribuire e far funzionare questi sottoprogrammi sui sistemi operativi gestiti.

Questi sottoprogrammi (script d’ora in avanti) vengono eseguiti automaticamente da Nios4 in punti chiave del suo funzionamento, come ad esempio il pre salvataggio e il post salvataggio. Altri script possono essere veri e propri comandi che l’utente può utilizzare.

Gli script possono essere collegati a una tabella di dati o al programma. Collegati ai dati vengono divisi in due categorie: gli script che verranno eseguiti quando i dati sono visualizzati nella scheda e quelli che vengono gestiti all’interno di una griglia di editing.

Le funzioni e gli oggetti Lua di Nios4 sono stati creati per essere disponibili su tutti i dispositivi anche se, in base al sistema operativo, si potrebbero avere delle risposte e dei funzionamenti diversi.

Un esempio: la lettura dei punti GPS funziona su iOS e Android, mentre sugli altri sistemi viene sempre ridata una coppia di zeri.

Un’altra differenza è legata al salvataggio di eventuali file, infatti i dispositivi iOS hanno una gestione dei file diversa rispetto agli altri.

Si consiglia quindi di testare gli script su tutti i dispositivi per evitare possibili malfunzionamenti.

Creare uno script

Per creare un nuovo script o modificarne uno esistente: aprire l’apposita pagina all’interno della sezione Opzioni. Si ricorda che occorre avere i permessi di amministratore del database per poter gestire gli script.

Nome TabellaIl nome della tabella associata allo script. Se il nome è **NIOS4 significa che lo script è usato direttamente dal programma.
Nome ScriptIl nome dello script.
Tipo ScriptLa tipologia dello script che identifica quale evento lo fa eseguire.
AbilitatoLa categoria dei permessi che possono eseguire lo script.
ClientIl tipo di dispositivo che può caricare ed eseguire lo script.
ScriptIl link per aprire l’editor.

Premendo su Aggiungi e scegliendo l’ambito di utilizzo verranno visualizzati tutti i possibili punti di esecuzione.

In base alla tipologia selezionata il programma potrebbe richiedere a quale tabella andrà associato lo script.

Si ricorda che è possibile collegare più script allo stesso evento della stessa tabella e verranno eseguiti seguendo l’ordine che attualmente hanno nella griglia.

Impostati i parametri per indicare chi può utilizzare lo script e da quale dispositivo, premere sul link Edita per aprire l’editor vero e proprio dello script.

La finestra di editing è divisa in 4 sezioni: nella parte sinistra si trova la barra di navigazione delle funzioni utilizzabili all’interno del sottoprogramma, mentre al di sopra si trova la cella di ricerca dove è possibile filtrare.

Per inserire una funzione posizionare il cursore nell’editor di testo e dare click sulla voce desiderata. I valori racchiusi tra asterischi servono per identificare le parti della funzione da sostituire con un valore reale.

Al centro è presente l’editor vero e proprio dello script e a destra lo zoom sul codice.

Nella parte inferiore si trova la console di output per poter visualizzare i dati dello script mentre viene eseguito.

Si ricorda che dopo le modifiche occorre sempre salvare per aggiornare lo script.