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) Синтаксис continue не предоставляется при зацикливании 7) В C++ широко используемых операций, таких как a++ и a+=1 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
|