Primeiros passos com Lua

Índice
Lua é uma linguagem interpretada, simples, portátil e extensível que foi originalmente criada para ser integrada com C e outras linguagens convencionais, porém estendeu seu uso a aplicativos da web, aplicativos móveis, serviços da web e até mesmo videogames.
Ele usa o API do C para executar certas tarefas que variam de operações de baixo nível, desempenho e interfaces com programas de terceiros. Lua também brilha por si só, permite trabalhar com estruturas dinâmicas, elimina redundâncias, permite a gestão automática da memória e proporciona a facilidade de teste e depuração.
Lua Também serve como uma linguagem "cola" para chamá-lo de alguma forma, já que possui um componente de desenvolvimento de software focado na criação de aplicativos usando componentes de alto nível que são escritos e compilados em linguagens como C ou C ++.
Já sabemos um pouco mais sobre Lua, mas com todas as linguagens de programação disponíveis hoje servindo ao mesmo propósito, muitos podem estar pensando: Por que você escolheria Lua acima dos outros? Mas a verdade é que Lua Possui uma série de características que o diferenciam dos demais, vejamos:
ExtensibilidadeA extensibilidade de Lua é tal que muitos desenvolvedores o consideram não como uma linguagem, mas como uma caixa de ferramentas para construir linguagens específicas. Lua foi projetado desde o início para ser estendido por meio de seu próprio código e código semelhante, onde uma prova disso é que Lua implementa a maior parte de sua funcionalidade básica por meio de bibliotecas externas. A integração de Lua com C / C ++ é extremamente simples e tem sido usado em conjunto com outras linguagens, como Fortrand, Java, C # e mesmo com outras línguas interpretadas como Rubi Y Perl.
SimplicidadeLua é uma linguagem simples e pequena, com poucos conceitos, com extensa documentação e muito fácil de aprender devido à sua simplicidade.
EficiênciaA implementação é altamente eficiente e os estudos realizados mostram que Lua como uma das línguas interpretadas mais rapidamente hoje.
PortabilidadeFinalmente, quando falamos sobre portabilidade, não estamos falando apenas sobre o que Lua pode ser executado tanto em janelas como em LinuxEstamos falando sobre ele rodando em todas as plataformas que conhecemos: Mac, OS X, Symbian OS, PlayStation, Xbox, processadores ARM e, claro, todos os sabores de Unix e Windows. O código para todas essas plataformas é praticamente o mesmo e Lua não usa compilação condicional, em vez disso, segue o compilador ANSI C, desta forma não há necessidade de adaptá-lo a um novo ambiente.
Como vemos Lua possui certas características que o diferenciam de outras linguagens interpretadas. Já temos um panorama mais amplo da linguagem, vamos ver como instalá-lo e como podemos fazer um exemplo simples.
Para este tutorial, vamos instalar Lua em Ubuntu para simplificar as etapas e seu uso. Primeiro abrimos nosso terminal e vamos executar o seguinte comando:
 sudo apt-get install lua5.2
Com isto teremos a última versão da linguagem e poderemos começar a desenvolver com ela, pois podemos constatar que foi bastante fácil de instalar, comprovando assim a sua funcionalidade de simplicidade. Agora vamos criar um pequeno arquivo chamado hello_world.lua que terá o seguinte código:
 print ("Hello World, Lua instalada sem nenhum problema")
Vamos ao nosso terminal para o caminho onde criamos o arquivo e vamos executá-lo para verificar se temos Lua instalado sem problemas, para isso usamos apenas a palavra reservada lua e o nome do arquivo, vamos ver qual é o resultado do nosso programa:

Vamos ver um exemplo mais complexo que permitirá a um usuário inserir dados e com uma função calcularemos o fatorial de um número:
 função fatorial (n) se n == 0 então retorna 1 senão retorna n * fatorial (n-1) end end print ("Digite um número:") a = io.read ("* número") print (fatorial (a ))
Vamos executar nosso código no terminal e ver como funciona:

Entramos com vários números obtendo assim o fatorial de cada um deles, e isso com algumas linhas simples de código. Já verificamos que Lua Ele está instalado corretamente e podemos rodar nossos programas sem nenhum problema, porém existem alguns conceitos da linguagem que devemos conhecer antes de continuar com seu aprendizado.
Cada pedaço de código que Lua executa, como um arquivo ou uma linha é chamada pedaço ou parte, onde nada mais é do que uma sequência de comandos ou instruções. A peculiaridade de Lua é que ela não precisa de separadores entre as sentenças, mas podemos usar o famoso ponto-e-vírgula se desejarmos.
Recomendamos o uso do ponto-e-vírgula para separar duas instruções que estão na mesma linha para manter alguma ordem no código e legibilidade. É importante mencionar que a quebra de linha de Lua é inexistente, para ver como funciona o descrito acima, vejamos o seguinte exemplo onde cada parte é igualmente válida:

Podemos ver que mesmo a última linha não obedece a nenhuma convenção, mas é totalmente válida e funcional na linguagem. Além disso, as porções podem ser executadas linha por linha, em vez de criar um arquivo por meio do console interativo do Lua, onde colocar a palavra reservada lua sem argumentos podemos entrar, vejamos:

Como podemos ver, executamos nossa impressão sem ter que criar um arquivo, mesmo Lua É capaz de detectar quando uma linha não é uma parte válida e nos dá outra entrada para adicionar o resto, mas novamente muitos se perguntarão: Qual é a utilidade de executar linha por linha se podemos criar um arquivo e fazê-lo em um passo único? A resposta é duas palavras; teste e depuração, por meio do console interativo, esses processos são extremamente simples e práticos. Vamos então criar um pequeno programa e com o console interativo vamos avaliar cada parte dele, vamos ver seu conteúdo:
 função norma (x, y) retorno (x 2 + y 2) 0,5 fim função dupla (x) retorno 2 * x fim
Agora, para acessar o console interativo e poder depurar nosso programa, devemos colocar o seguinte:
 lua -i test.lua
O console interativo abrirá e poderemos avaliar nosso programa, para isso utilizaremos a função dofile () que é responsável por carregar nosso código e então podemos enviar os argumentos para nossas funções e executá-los, vamos ver como fazemos isso:

Como vimos, pudemos testar nosso código sem nenhum problema, isso é bastante útil quando temos um código bastante extenso com erros e não sabemos onde eles estão.
Já passamos por uma série de conceitos úteis para executar nossos programas e realizar testes sobre eles em caso de erros, mas para reduzir esses erros é necessário conhecer algumas convenções a respeito de quais palavras reservadas não podemos usar ou mesmo como chamar nossas variáveis ou identificadores.
Para o último, pode ser qualquer string composta por letras, números e sublinhados, tomando cuidado para não começar com um número, por exemplo:
  • identificador
  • identificador2
  • aVariableVeryLong
  • _identifier
  • _ENTRADATES
Além disso, temos as seguintes palavras reservadas que não podemos usar para nomear nossos identificadores:

É importante mencionar que Lua diferencia maiúsculas de minúsculas, então repita é diferente de REPITA, algo para se ter em mente ao desenvolver com o idioma. Finalmente, para fazer comentários incluindo o hífen duplo que temos para uma linha, e se quisermos incluir um bloco de comentários, os colocamos entre colchetes, como podemos ver na seguinte parte do código:
 - [[imprimir ("Olá, mundo") -]]
E se quisermos desativar esse comentário incluindo um script adicional no início dele, temos:

Para finalizar temos o variáveis ​​globais, que não precisam ser declarados apenas atribuindo os valores a eles, podemos criá-los e no caso de acessá-los antes de tê-los criado obteremos o valor nada o que indica que é um valor diferente dos demais, o que até nos ajuda a eliminar essa variável no momento de sua atribuição, vamos ver um exemplo disso:

Como vemos a simplicidade de Lua estende-se a todos os aspectos da linguagem, mesmo com as declarações de nossas variáveis. Com isso terminamos este tutorial, onde poderíamos dar nossos primeiros passos com Lua, demonstrando o poder da linguagem e sua facilidade de uso, dando-nos uma alternativa ao extenso catálogo de linguagens interpretadas para o desenvolvimento de nossas aplicações.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo
wave wave wave wave wave