1. Какво е lua&luaJit?
lua(www.lua.org)Всъщност това е скриптов език, разработен за вграждане на други приложения
luajit(www.luajit.org)Това е компилатор за изпълнение на lua в точно време и може да се нарече и ефективна версия на lua.
2. Предимства
1) Lua е безплатен, малък, прост, мощен, ефективен и лек вграден скриптов език, а текущата версия 5.3.1 на Lua е само 276k. 2) Това е проект, разработен на C, така че може да работи на повечето операционни системи 3) Lua в момента е най-бързият скриптов език, който може да подобри гъвкавостта на езика и да максимизира скоростта на задържане 4) Синтаксисът му е много прост, няма изключения 5) lua може да се използва и като API за C
3. Недостатъци и различия
1) Lua няма мощна библиотека, затова много функции се реализират без кратки скриптови езици като python, perl и ruby 2) Функцията за обработка на изключения в Lua е спорна, въпреки че предоставя функции за обработка на изключения за pcland и xpcall 3) Поддръжка за Unicode кодиране не се предоставя в родния език на LUA, въпреки че http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html може да се постигне чрез някои компромиси 4) Не предоставя тернарни операторни операции за a?b:c, което е широко използвано в C++ 5) Няма превключвател... кейс... Синтаксис, който може да се направи само ако: Иначе... Иначе... Иначе... Краен метод 6) Синтаксисът за продължаване не се предоставя при циклиране 7) Няма операции като a++ и a+=1, които са широко използвани в C++ 8) Индексът на Lua започва от 1, а не от познатия 0 (низ, таблица) 9) Когато присвоите елемент на нула, това означава, че елементът не съществува 10) Числовият тип lua е само число и няма разлика между int, float, double и т.н. 11) В lua няма понятие за класове, а техните класове са реализирани под формата на таблици 12) Само нула и невярно в lua са неверни, а нула е вярна в lua 13) Много програми трябва да бъдат маркирани с () за изпълнение, например a={["b"]=5}, print(a.b) може да се изпълни, но {["b"]=5}.b ще докладва грешка, а ({["b"]=5}).b е необходим
4. Обзор
В обобщение, LUA е прост и ефективен ngx_lua широко използван в разработката на логика на игри и сървъри.
Прехвърлен от: https://blog.csdn.net/ugly_man_/article/details/48577007
Прикачено:
Тест за сравнение на представянето на Lua и Luajit: https://blog.csdn.net/alexwoo0501/article/details/50618031
|