2009-08-13 20 views
24

Ho letto qualcosa su Lua questo giorno e mi chiedevo cosa fosse.Lua, cos'è Lua?

Ho fatto un Google e Wikipedia (ho capito fino a quando non hanno iniziato a parlare di un API C) bit di ricerca ancora non lo capisco.

Che cos'è Lua? Ci sono tutorial per principianti?

+2

Esattamente, ciò che non hai capito? – Geo

+6

Un linguaggio di programmazione pulito con un nome strano! – NoMoreZealots

+0

@Geo. Che cos'è Lua. –

risposta

31

Lua è un linguaggio di scripting per C e C++. Permette di usare la sintassi più semplice di Lua ed eseguire questi script nell'applicazione C/C++. Pertanto non è necessario compilare il programma per ogni modifica, ma semplicemente fornire una nuova versione di script.

Per i tutorial basta usare google, troverete abbastanza per tenerti occupato nei prossimi giorni.

+0

I'dd aggiungere a quello che permette di richiamare facilmente il codice C (non so su C++, non ha mai fatto io stesso, così forse) dallo script Lua. Inoltre è piccolo e abbastanza veloce. Ciò lo rende un "collante" ideale per un'applicazione. Oh, ed è un perfetto parser di file di configurazione (se non importare alcuna funzione nel contesto interprete che si utilizza per analizzare i file di configurazione). –

+19

Non è solo per C/C++. Il runtime di Lua può essere utilizzato anche da altre lingue e ci sono implementazioni diverse da quella ufficiale. Lo stesso Lua non è tecnicamente legato a C o C++. – OregonGhost

40

Lua è un linguaggio di programmazione leggero e interpretato sviluppato in Brasile con particolare attenzione all'incorporazione.

È scritto in Pure ANSI C che significa elevata portabilità, anche come codice C++.

Ecco un esempio:

print("Hello World!") 

Wikipedia Summary

Official Site

+5

mi piacerebbe aggiungere che i giochi tradizionali come Crysis lo utilizzano per lo scripting. –

+11

Non dimenticare World of Warcraft! Gli eserciti di hacker Lua sono nati a causa di quel gioco. –

14

Lua è un linguaggio di scripting. Il collegamento è su lua.org. È molto usato nello sviluppo del gioco, in particolare (per me) World of Warcraft.

+7

Mi chiedo se qualcuno pensasse che ho lavorato per Blizzard. Io non. Ho appena giocato e goduto il gioco per molto, molto tempo. D'altra parte, smettere è stata la cosa migliore per la mia vita./shrug –

+0

Ti ho dato +1 per la bellezza della tua risposta! – Mark

10

Lua è un linguaggio di scripting leggero e integrabile. Ha guadagnato molta popolarità in parte grazie al suo utilizzo in molti giochi popolari. Un buon esempio di questo è World of Warcraft che utilizza una versione embedded di lua per guidare il comportamento degli elementi dell'interfaccia utente nel gioco.

Una buona introduzione alla lingua può essere trovato qui: http://computer-programming-languages.suite101.com/article.cfm/a_brief_introduction_to_lua_scripting

E il riferimento on-line ufficiale per la lingua può essere trovato qui: http://www.lua.org/manual/5.1/

8

Si tratta di un linguaggio di scripting che è stato progettato per lavorare con C (e C++). È progettato per essere incorporato nei programmi C/C++. Ciò significa che, a differenza di molti altri linguaggi di scripting, non fa uso di variabili globali e così, questo significa che puoi facilmente collegare i motori di scripting lua.

Inoltre, afferma di essere il linguaggio di scripting dinamico più veloce.

L'ho utilizzato in un'applicazione C++ basata su PC per la creazione di un'interfaccia di scripting di plug-in e l'ho usato anche come linguaggio di scripting incorporato. È piuttosto versatile, bello e piccolo.

come linguaggio di scripting generico? Non è del tutto simile alla tua roba ruby ​​/ python/perl. Non ha tante librerie e la comunità degli utenti è piuttosto piccola.

Ma per estendere le app C++/C? è meraviglioso.

24

Lua è un semplice linguaggio di scripting multi-paradigma, facilmente trasportabile, altamente portatile e altamente portatile. L'implementazione "vanilla" (alcuni direbbero ufficiali) è fatta esclusivamente su ANSI C e ha un'AP C impressionante (semplice ma potente) che puoi usare per incorporare Lua nella tua app o estendere il comportamento della lingua stessa. È sviluppato presso il Dipartimento di Informatica della Pontificia Università Cattolica di Rio de Janeiro (PUC-Rio).

Pensato che non fosse progettato principalmente per questo, Lua ha trovato una grande nicchia nello scripting di giochi, con grandi nomi come "Grim Fandango" e "World of Warcraft". Tuttavia, a causa della sua velocità, semplicità e portabilità, è anche fortemente utilizzato nei sistemi embedded (si veda, ad esempio, il progetto eLua) e l'elaborazione grafica.

La sua filosofia è di essere minimalista, cioè le sue librerie di base sono molto piccole con funzionalità minime (proprio come le librerie standard di C), sebbene attraverso l'API C sia molto semplice aggiungere funzionalità che non sarebbero possibili attraverso il libreria di base pura, come socket, GUI ecc. In realtà, Lua è così minimalista che i suoi tipi di dati principali e solo strutturati sono "tabelle", che potrebbero essere descritti come matrici associative su "roids".

Lua è procedurale nella sua essenza, ma supporta anche più paradigmi come la programmazione funzionale e l'orientamento dell'oggetto.

Sebbene Lua non sia il linguaggio di scripting più veloce (probabilmente il progetto V8 di javascript vince il premio) è molto veloce (più veloce di vanilla Python o Ruby, ad esempio) e presenta anche un'implementazione non ufficiale just-in-time chiamato LuaJIT.

Alla fine, Lua è in realtà non più di una lingua divertente con cui giocare, che consiglio !. =)

Informazioni sui tutorial, consiglierei l'articolo al riguardo su lua-users wiki.

Spero di aver aiutato! =)

PS: Non ho potuto pubblicare tutti i collegamenti perché sono nuovo nello stack overflow, ma non dovrebbe essere difficile trovare tutto su Google. Scusate. = (

+1

Ci sono parametri di riferimento fluttuanti, che mostrano che l'implementazione JIT più veloce è LuaJIT. Apparentemente, LuaJIT ha anche eseguito il V8. – TechZilla

3

Lua è un SCRIPTING lingua scritta in C ed è comunemente usato nello sviluppo del gioco a causa della sua potenza e la flessibilità. Lua è anche cross-platform in modo che possa essere utilizzato ovunque su qualsiasi piattaforma. Lua può anche essere . utilizzato come un linguaggio di programmazione con un comodo programma che uso chiamato AutoPlay media Studio che permette di creare applicazioni a pieno titolo per la piattaforma Windows Spero che questo cancella le cose per voi

Sito web:..http://www.lua.org
AutoPlay Media Studio:http://www.indigorose.com.

3

L'API C, che sembra essere la parte che ti ha confuso, è progettata per semplificare l'utilizzo del codice C esistente (o del nuovo codice C) e controllarlo con uno script Lua. Questo è il significato di che incorpora. Tramite l'incorporamento, è possibile ottenere un'interfaccia basata su testo leggera, programmabile, interattiva, su qualsiasi codice C, con pochissimo sforzo. Anche se non si incorporano le cose da soli, Lua è un linguaggio di scripting molto carino.

Il mio esempio preferito è che una brava persona ha inserito molte chiamate di sistema POSIX in Lua.Quando voglio qualcosa che è come uno script di shell ma è più sofisticato, posso semplicemente usare questa libreria. Allo stesso modo con la libreria MD5 e con molti altri.

Quando imparare Lua si può ignorare l'API C completamente — solo beneficio dal lavoro di altre persone con l'API — e se mai hai bisogno di incorporare il proprio codice, si può tornare in un secondo momento.

2

Lua è un potente, veloce, leggero, linguaggio di scripting incorporabile.

Lua combina sintassi procedurale semplice con potenti costrutti descrizione dei dati basati su array associativi e la semantica estensibili. Lua è dinamicamente tipizzato, corre interpretando bytecode per una macchina virtuale basato su registri, ed ha gestione automatica della memoria con garbage collection incrementale, che lo rendono ideale per la configurazione, script e prototipazione rapida.

per più potete leggere here