Consigli per linguaggio Lua

Pubblicità

alessiobuccas

Utente Attivo
Messaggi
138
Reazioni
0
Punteggio
38
salve...sono nuovo e nn ho mai programmato...insomma inizio da 0...
l'anno prossimo studiero il c++ ma ora sono concentrato su un altro linguaggio di programmazzione...il Lua...:ok:...nn e un linguagio molto usato ma dato ke possiedo una psp spero di imparare a creare applicazioni homebrew con questo linguaggio:)...ki e disponibile ad aiutarmi???:help:

PS=parto veramente da 0!!!.......................:rolleyes:
 
Salve alessiobuccas,
inanzitutto dobbiamo dire che Lua è stato creato nel 1993 da Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes, membri del Gruppo tecnologico di computer grafica presso l'Università pontificia di Rio de Janeiro, in Brasile. Versioni di Lua precedenti alla versione 5.0 furono rilasciate sotto licenza simile alla licenza BSD. Dalla versione 5.00 Lua è stato rilasciato sotto licenza MIT.
Fra i linguaggi relativamente vicini vi sono Icon per il suo schema e Python per la sua semplicità d'uso da parte dei non programmatori. 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 commerciali.
Le caratteristiche principali di Lua sono le funzioni, viste come "oggetti" di primo livello e quindi assegnabili a variabili, e l'uso di tabelle come strutture dati generiche. Queste caratteristiche permettono al linguaggio di implementare caratteristiche viste in linguaggi orientati agli oggetti senza che lo stesso lo sia.
Esempi:

Il classico programma "Hello world" può essere scritto come:
print "Hello, world!"
Il fattoriale è un esempio di funzione ricorsiva:
function factorial(n)
if n == 0 then
return 1
end

return n * factorial(n - 1)
end
Questo esempio mostra come sia possibile, in Lua, ridefinire le funzioni del linguaggio:
do
local oldprint = print -- salva la funzione come era definita da Lua
-- ATTENZIONE: non salva il valore ritornato dalla funzione, ma la funzione stessa
print = function(s) -- ridefinisce la funzione print
if s == "foo" then
oldprint("bar")
else
oldprint(s)
end
end
end
Qualunque futura chiamata alla funzione print farà ora riferimento alla nuova funzione, e la vecchia funzione sarà accessibile dalla nuova versione della stessa.
Questo esempio mostra una caratteristica di Lua: la possibilità di definire dinamicamente tabelle (la struttura dati usata dal linguaggio). In questo caso si tratta di una tabella che associa al valore fibs[n] l'ennesimo numero di Fibonacci.
fibs = { 1, 1 } -- valore iniziale per fibs[1] and fibs[2]
setmetatable(fibs, {
__index = function(fibs,n) -- chiama questa funzione se il valore fibs[n] non esiste
fibs[n] = fibs[n-2] + fibs[n-1] -- calcola e memorizza il valore
return fibs[n]
end
})
 
Pubblicità
Pubblicità
Indietro
Top