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.