Lua - Sintaxe Básica
Vamos começar a criar nosso primeiro programa Lua!
Primeiro Programa Lua
Programação de modo interativo
Lua fornece um modo denominado modo interativo. Neste modo, você pode digitar instruções uma após a outra e obter resultados instantâneos. Isso pode ser invocado no shell usando o lua -i ou apenas o comando lua. Depois de digitar isso, pressione Enter e o modo interativo será iniciado conforme mostrado abaixo.
$ lua -i
$ Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
quit to end; cd, dir and edit also available
Você pode imprimir algo usando a seguinte declaração -
print("test")
Depois de pressionar enter, você obterá o seguinte resultado -
test
Modo de programação padrão
Invocar o interpretador com um parâmetro de nome de arquivo Lua inicia a execução do arquivo e continua até que o script seja concluído. Quando o script é concluído, o intérprete não está mais ativo.
Vamos escrever um programa Lua simples. Todos os arquivos Lua terão extensão .lua. Portanto, coloque o seguinte código-fonte em um arquivo test.lua.
print("test")
Supondo que o ambiente lua esteja configurado corretamente, vamos executar o programa usando o seguinte código -
$ lua test.lua
Obteremos a seguinte saída -
test
Vamos tentar outra maneira de executar um programa Lua. Abaixo está o arquivo test.lua modificado -
#!/usr/local/bin/lua
print("test")
Aqui, assumimos que você tem um interpretador Lua disponível em seu diretório / usr / local / bin. A primeira linha é ignorada pelo intérprete, se começar com o sinal #. Agora, tente executar este programa da seguinte maneira -
$ chmod a+rx test.lua
$./test.lua
Obteremos a seguinte saída.
test
Vamos agora ver a estrutura básica do programa Lua, de forma que seja fácil para você entender os blocos de construção básicos da linguagem de programação Lua.
Tokens em Lua
Um programa Lua consiste em vários tokens e um token é uma palavra-chave, um identificador, uma constante, um literal de string ou um símbolo. Por exemplo, a seguinte instrução Lua consiste em três tokens -
io.write("Hello world, from ",_VERSION,"!\n")
Os tokens individuais são -
io.write
(
"Hello world, from ",_VERSION,"!\n"
)
Comentários
Os comentários são como texto de ajuda em seu programa Lua e são ignorados pelo interpretador. Eles começam com - [[e terminam com os caracteres -]] conforme mostrado abaixo -
--[[ my first program in Lua --]]
Identificadores
Um identificador Lua é um nome usado para identificar uma variável, função ou qualquer outro item definido pelo usuário. Um identificador começa com uma letra de 'A a Z' ou 'a a z' ou um sublinhado '_' seguido por zero ou mais letras, sublinhados e dígitos (0 a 9).
Lua não permite caracteres de pontuação como @, $ e% nos identificadores. Lua é umacase sensitivelinguagem de programação. Portanto, Manpower e manpower são dois identificadores diferentes em Lua. Aqui estão alguns exemplos de identificadores aceitáveis -
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
Palavras-chave
A lista a seguir mostra algumas das palavras reservadas em Lua. Essas palavras reservadas não podem ser usadas como constantes ou variáveis ou quaisquer outros nomes de identificador.
e | pausa | Faz | outro |
elseif | fim | falso | para |
função | E se | dentro | local |
nada | não | ou | repetir |
Retorna | então | verdadeiro | até |
enquanto |
Espaço em branco na Lua
Uma linha contendo apenas espaços em branco, possivelmente com um comentário, é conhecida como linha em branco e um interpretador Lua a ignora totalmente.
Espaço em branco é o termo usado em Lua para descrever espaços em branco, guias, caracteres de nova linha e comentários. O espaço em branco separa uma parte de uma instrução de outra e permite que o interpretador identifique onde um elemento em uma instrução, como int termina, e o próximo elemento começa. Portanto, na seguinte declaração -
local age
Deve haver pelo menos um caractere de espaço em branco (geralmente um espaço) entre local e idade para que o intérprete seja capaz de distingui-los. Por outro lado, na seguinte declaração -
fruit = apples + oranges --get the total fruit
Nenhum caractere de espaço em branco é necessário entre frutas e =, ou entre = e maçãs, embora você seja livre para incluir alguns se desejar para fins de legibilidade.