Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 14194|Відповідь: 0

Сильні та слабкі сторони Lua та Luajit

[Копіювати посилання]
Опубліковано 27.04.2018 09:44:40 | | | |
1. Що таке lua&luaJit?



lua(www.lua.org)Насправді це мова скриптів, розроблена для вбудови інших додатків
luajit(www.luajit.org)Це компілятор runtime для 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) Лише nul і хибні в 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 у Nginx Lua
Наступний:NGINX додає сторонні модулі, а також підтримує модулі, які нативно підтримуються NGINX
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com