1. Wat is lua&luaJit?
lua(www.lua.org)Het is eigenlijk een scripttaal die is ontwikkeld om andere applicaties in te sluiten
Luajit(www.luajit.org)Het is een just-in-time runtime-compiler van lua, en kan ook worden beschouwd als een efficiënte versie van lua.
2. Voordelen
1) Lua is een gratis, kleine, eenvoudige, krachtige, efficiënte en lichtgewicht embedded scripttaal, en de huidige distributieversie 5.3.1 van Lua is slechts 276k. 2) Het is een project ontwikkeld in C, zodat het op de meeste besturingssystemen kan draaien 3) Lua is momenteel de snelste scripttaal, wat de flexibiliteit van de taal kan verbeteren en de retentiesnelheid kan maximaliseren 4) De syntaxis is heel eenvoudig, er zijn geen uitzonderingen 5) lua kan ook worden gebruikt als API voor C
3. Tekortkomingen en verschillen
1) Lua heeft geen krachtige bibliotheek, waardoor veel functies worden geïmplementeerd zonder de beknopte scripttalen zoals python, perl en ruby 2) Lua's exception handling-functie is controversieel, hoewel deze uitzonderingsbehandelingsfuncties biedt voor pcland en xpcall 3) Ondersteuning voor Unicode-codering wordt niet geboden in de moedertaal LUA, hoewel http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html mogelijk is door enkele compromissen 4) Het biedt geen ternaire operatoroperaties voor a?b:c, wat veel wordt gebruikt in C++ 5) Geen schakelaar... zaak... syntaxis, wat alleen kan worden gedaan via als: anders als.. anders als.. anders.. Endmethode 6) De continue-syntaxis wordt niet gegeven bij het lusen 7) Er zijn geen bewerkingen zoals a++ en a+=1, die veel worden gebruikt in C++ 8) Lua's index begint bij 1, niet bij de bekende 0 (string, tabel) 9) Wanneer je een element aan nul toekent, betekent dat dat het element niet bestaat 10) Het numerieke type lua is slechts getal, en er is geen onderscheid tussen int, float, double, enzovoort 11) Er is geen concept van klassen in lua, en hun klassen zijn geïmplementeerd in de vorm van tabellen 12) Alleen nul en onwaar in lua zijn vals, en nul is waar in lua 13) Veel programma's moeten worden gemarkeerd met () om uit te voeren, bijvoorbeeld a={["b"]=5}, print(a.b) kan worden uitgevoerd, maar {["b"]=5}.b zal een fout rapporteren, en ({["b"]=5}).b is vereist
4. Overzicht
Samengevat is LUA een eenvoudige en efficiënte ngx_lua veel gebruikt in de ontwikkeling van gamelogica en servers.
Overgeplaatst van: https://blog.csdn.net/ugly_man_/article/details/48577007
Bijgevoegd:
Lua en Luajit prestatievergelijkingstest: https://blog.csdn.net/alexwoo0501/article/details/50618031
|