Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 14194|Risposta: 0

Punti di forza e debolezze di Lua e Luajit

[Copiato link]
Pubblicato su 27/04/2018 09:44:40 | | | |
1. Cos'è lua&luaJit?



lua(www.lua.org)In realtà è un linguaggio di scripting sviluppato per incorporare altre applicazioni
Luajit(www.luajit.org)È un compilatore just-in-time di lua, e può anche essere considerato una versione efficiente di lua.

2. Vantaggi

1) Lua è un linguaggio di scripting embedded gratuito, piccolo, semplice, potente, efficiente e leggero, e l'attuale distribuzione 5.3.1 di Lua è di soli 276k.
2) È un progetto sviluppato in C, quindi può funzionare sulla maggior parte dei sistemi operativi
3) Lua è attualmente il linguaggio di scripting più veloce, che può migliorare la flessibilità del linguaggio e massimizzare la velocità di retention
4) La sua sintassi è molto semplice, non ci sono eccezioni
5) Lua può essere usato anche come API per C

3. Inadeguatezze e differenze

1) Lua non ha una libreria potente, quindi molte funzioni sono implementate senza i linguaggi di scripting concisi come python, perl e ruby
2) La funzione di gestione delle eccezioni di Lua è controversa, anche se fornisce funzioni di gestione delle eccezioni per pcland e xpcall
3) Il supporto per la codifica Unicode non è fornito nella lingua madre LUA, anche se http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html può essere ottenuto tramite alcuni compromessi
4) Non fornisce operazioni di operatore ternario per a?b:c, che sono ampiamente utilizzate in C++
5) Nessun interruttore... caso... sintassi, che può essere fatta solo se: altrosese... altrosese... altrimenti.. Metodo END
6) La sintassi continua non viene fornita durante il loop
7) Non esistono operazioni come a++ e a+=1, ampiamente utilizzate in C++
8) L'indice di Lua inizia da 1, non dal familiare 0 (stringa, tabella)
9) Quando assegni un elemento a zero, significa che l'elemento non esiste
10) Il tipo numerico di lua è solo numero, e non c'è distinzione tra int, float, double, ecc
11) Non esiste il concetto di classi in lua, e le loro classi sono implementate sotto forma di tabelle
12) Solo nulla e falso in lua sono falsi, e zero è vero in lua
13) Molti programmi devono essere contrassegnati con () per essere eseguiti, ad esempio, a={["b"]=5}, print(a.b) può essere eseguito, ma {["b"]=5}.b segnala un errore, e ({["b"]=5}).b è necessario

4. Panoramica

In sintesi, LUA è un ngx_lua semplice ed efficiente ampiamente utilizzato nello sviluppo di logica di gioco e nello sviluppo server.

Trasferito da: https://blog.csdn.net/ugly_man_/article/details/48577007

Allegato:

Test di confronto delle prestazioni Lua e Luajit: https://blog.csdn.net/alexwoo0501/article/details/50618031





Precedente:Vulnerabilità del firewall delle applicazioni WAF di Nginx Lua
Prossimo:Nginx aggiunge moduli di terze parti, oltre a abilitare moduli supportati nativamente da nginx
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com