Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 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) Синтаксис 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





Предыдущий:Уязвимость файрвола приложений WAF в Nginx Lua
Следующий:NGINX добавляет сторонние модульы, а также поддерживает модули, поддерживаемые нативно NGINX
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com