Lua 5.4 está aqui e essas são suas mudanças e novidades

Após cinco anos de desenvolvimento, alguns dias atrás foi apresentado o lançamento da nova versão do Lua 5.4, que é uma linguagem de programação de script compacta e rápida amplamente usada como uma linguagem incorporada.

Lua combina sintaxe procedural simples com recursos poderosos de descrição de dados por meio do uso de matrizes associativas e semântica de linguagem extensível. Lua usa escrita dinâmica; construções de linguagem são convertidas em bytecode que é executado em uma máquina virtual de log com um coletor de lixo automático.

O que há de novo na Lua 5.4?

Nesta nova versão da linguagem, podemos descobrir que ela se destaca um novo modo de operação do coletor de lixo, que complementa o modo de coleta de lixo incremental disponível anteriormente.

O novo jeito implica um lançamento mais frequente de um rastreamento mais curto, que cobre apenas objetos criados recentemente. Um rastreamento completo de todos os objetos só é executado se, após um rastreamento curto, os indicadores de consumo de memória desejados não puderem ser alcançados. Esta abordagem permite maior desempenho e menor consumo de memória em uma situação de armazenamento de um grande número de objetos que vivem por pouco tempo.

Outra mudança que se destaca em Lua 5.4 é a capacidade de definir constantes definidas com o atributo "const". Essas variáveis ​​só podem ser atribuídas uma vez e, após a inicialização, não podem mais ser alteradas.

Além de que o novo suporte para variáveis ​​também é destacado «A ser fechado», que são atribuídos usando o atributo «fechado» e assemelham-se a variáveis ​​locais constantes (com o atributo const), que difere deles pelo fato de que o valor é fechado (o método "__close" é chamado) em qualquer saída da área de visibilidade.

O tipo de "Dados do usuário", que fornece a capacidade de armazenar quaisquer dados C em variáveis ​​Lua (representa um bloco de dados na memória ou contém um ponteiro C), agora pode conter vários valores (tem várias meta-tabelas).

Além disso, uma nova semântica é proposta em Lua 5.4 para enumerar inteiros em »for« loops. O número de iterações é calculado antes do início do loop, o que evita o estouro da variável e o loop. Se o valor inicial for maior que o valor limite, é gerado um erro.

Um sistema de aviso foi adicionado, que é determinado usando a expressão de aviso e, ao contrário dos erros, não afeta a execução subsequente do programa.

Das outras mudanças que se destacam:

  • As informações de depuração nos argumentos da função e nos valores de retorno foram adicionadas ao operador "return".
  • As funções de conversão de strings em números foram movidas para a biblioteca "strings".
  • A chamada da função de alocação de memória agora pode falhar se o tamanho do bloco de memória for reduzido.
  • Adicionado suporte para um novo especificador de formato '% p' ​​à função 'string.format'
  • A biblioteca utf8 oferece suporte para códigos de caracteres com números de até 2 ^ 31.
  • Um novo argumento opcional 'init' foi adicionado à função 'string.gmatch', que determina de qual posição iniciar a pesquisa (por padrão, começando com 1 caractere).
  • Adicionadas novas funções 'lua_resetthread' (redefinir o thread, limpar toda a pilha de chamadas e fechar todas as variáveis ​​"para fechar") e 'coroutine.close'

Como instalar Lua no Linux?

Devido à sua grande popularidade do idioma seu interpretador é encontrado na maioria das distribuições Linux.

Pára aqueles que são usuários de Debian, Ubuntu, Linux Mint ou qualquer sistema derivado destes, só temos que abrir um terminal e executar o seguinte comando nele:

sudo apt install lua5.4

Sim são usuários do Arch Linux, Manjaro, Antergos ou qualquer distribuição derivada do Arch Linux, podemos instalar o intérprete dos repositórios AUR, para isso só temos que digitar:

yay -S lua

Enquanto por Aqueles que são usuários do CentOS, RHEL, Fedora ou qualquer distribuição derivada destes, podemos instalá-lo com:

sudo dnf install lua

E pronto com isso, já estou instalado.


Seja o primeiro a comentar

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.