Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 14194|Отговор: 0

Силни и слаби страни на Lua и Luajit

[Копирай линк]
Публикувано в 27.04.2018 г. 9:44:40 ч. | | | |
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





Предишен:Уязвимостта на WAF Application Firewall на Nginx Lua
Следващ:NGINX добавя модули на трети страни, както и активира модули, които се поддържат нативно от NGINX
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com