il linguaggio Lua: parte 3

segue dalla seconda parte Che fai tu luna in ciel ? : le funzioni Fino a che scriviamo script di poche righe, possiamo inserire le istruzioni nel programma principale, ma aumentando la complessità diventa necessario organizzare il codice in pezzi indipendenti e riutilizzabili; come in tutti gli altri linguaggi, in Lua è possibile definire funzioni; vediamo un esempio piuttosto classico: function fattoriale(n) local f=1 -- variabile locale alla funzione for i=2,n do f=f*i end return f Abbiamo definito la funzione fattoriale, che da ora in avanti possiamo richiamare nel nostro codice: ...

March 20, 2017 · Andrea Manzini

il linguaggio Lua: parte 2

segue dalla prima parte Moonwalking: Tipi di dato Nello scorsa puntata abbiamo utilizzato due degli otto tipi disponibili: i numeri e le stringhe. Per semplicita’, Lua non distingue tra interi e floating point: tutti i valori numerici sono conservati come double, cioe’ in virgola mobile a doppia precisione. Nel caso la CPU non disponesse di unita’ FPU, è possibile cambiare una riga nel sorgente (per l’esattezza, #define LUA_NUMBER in lua.h) e ricompilare; questo si fa tipicamente nei sistemi embedded con processori a basse prestazioni. Le stringhe posso essere delimitate da apici singoli o doppi, nel qual caso vengono espanse le usuali sequenze di escape come \b e \n; usando invece i delimitatori [[ ]], possiamo scrivere stringhe su piu’ righe e disattivare l’interpolazione. Vediamo un paio di esempi, sfruttando l’opzione -e per eseguire codice da riga di comando: ...

May 24, 2016 · Andrea Manzini

how to automatically expire mysql records after a fixed amount of time

the issue we have a database table containing usernames and passwords, but we want to make them temporary like expiring after a fixed number of days from the creation. This is typical usage for a wi-fi captive portal with RADIUS authentication backed on mysql. the idea we store a new field in the table with the timestamp, and run a periodic “cleaner” job that deletes record older than X days. ...

May 5, 2016 · Andrea Manzini

il linguaggio Lua: prima parte

introduzione Ho sempre avuto un debole per il software leggero e snello: sara’ un retaggio di quando la memoria si misurava in Kb e lo storage era basato su… audiocassette! Lua e’ un linguaggio che incarna questa filosofia: occupa circa un centinaio di kbyte (meno di molte pagine web), ha una stupefacente rapidita’ di esecuzione, una sintassi chiara e, come bonus, gira su qualsiasi CPU per cui sia disponibile un compilatore C. ...

April 13, 2016 · Andrea Manzini