Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 14194|Resposta: 0

Pontos fortes e fracos de Lua e Luajit

[Copiar link]
Publicado em 27/04/2018 09:44:40 | | | |
1. O que é lua&luaJit?



lua(www.lua.org)Na verdade, é uma linguagem de script desenvolvida para incorporar outras aplicações
Luajit(www.luajit.org)É um compilador just-in-time de lua, e também pode ser considerado uma versão eficiente do lua.

2. Vantagens

1) Lua é uma linguagem de scripting embarcada livre, pequena, simples, poderosa, eficiente e leve, e a versão atual 5.3.1 de Lua é de apenas 276k.
2) É um projeto desenvolvido em C, então pode rodar na maioria dos sistemas operacionais
3) Atualmente, Lua é a linguagem de script mais rápida, o que pode melhorar a flexibilidade da linguagem e maximizar a velocidade de retenção
4) Sua sintaxe é muito simples, não há exceções
5) o lua também pode ser usado como API para C

3. Insuficiências e diferenças

1) O Lua não possui uma biblioteca poderosa, então muitas funções são implementadas sem linguagens de script concisas como python, perl e ruby
2) A função de tratamento de exceções do Lua é controversa, embora forneça funções de tratamento de exceções para pcland e xpcall
3) O suporte à codificação Unicode não é fornecido na língua nativa LUA, embora http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html possa ser alcançado por meio de alguns compromissos
4) Não fornece operações ternárias de operador para a?b:c, o que é amplamente usado em C++
5) Sem interruptor... caso... sintaxe, que só pode ser feita por meio de: sese... sese... senão... Método final
6) A sintaxe continue não é fornecida durante o loop
7) Não existem operações como a++ e a+=1, que são amplamente usadas em C++
8) O índice de Lua começa em 1, não no conhecido 0 (string, tabela)
9) Quando você atribui um elemento a zero, significa que o elemento não existe
10) O tipo numérico de lua é apenas número, e não há distinção entre int, float, double, etc
11) Não existe conceito de classes em lua, e suas classes são implementadas na forma de tabelas
12) Apenas nil e false em lua são falsos, e zero é verdadeiro em lua
13) Muitos programas precisam ser marcados com () para rodar, por exemplo, a={["b"]=5}, print(a.b) pode ser executado, mas {["b"]=5}.b reportará um erro, e ({["b"]=5}).b é necessário

4. Visão geral

Em resumo, LUA é um ngx_lua simples e eficiente, amplamente utilizado no desenvolvimento de lógica de jogos e no desenvolvimento de servidores.

Transferido de: https://blog.csdn.net/ugly_man_/article/details/48577007

Anexado:

Teste de comparação de desempenho Lua e Luajit: https://blog.csdn.net/alexwoo0501/article/details/50618031





Anterior:Vulnerabilidade do Firewall de Aplicações WAF do Nginx Lua
Próximo:A Nginx adiciona módulos de terceiros, além de habilitar módulos que são suportados nativamente pela Nginx
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com