Objetivos
    
    
    
        
Variáveis
    
    
        
            
                A declaração de variáveis em Lua é feita informando o tipo de dados antes do nome da variável 
                como exemplificado abaixo:
            
            Sintaxe
            
local nome_variavel
            
                As variáveis não declaradas utilizando local são consideradas variáveis globais. O escopo 
                de variáveis será visto mais adiante.
            
            Exemplo 1
            
local nome_variavel
nome_variavel --variável global
            
                A linguagem Lua permite que essa declaração seja feita em apenas uma linha. A sintaxe é semelhante ao que foi 
                visto no exemplo acima. Nesse tipo de declaração os nomes das variáveis são separados por (,). A 
                atribuição não é permitida em linha.
            
            Sintaxe
            
local nome_variavel1, nome_variavel2, nome_variavelN
            Exemplo 2
            
local var1, var2, var3
            
                A atribuição de valor a uma variável é feita utilizando o operador (=):
            
            Sintaxe
            local nome_variavel1 = valor
            Exemplo 3
            
local valor = 1
         
     
    
    
        
            
                A palavra reservada local é opcional na declaração de variáveis. Toda variável 
                criada sem a utilização dessa palavra reservada é internamente declarada 
                como global. Para variáveis locais é necessário utilizar local.
            
            Sintaxe
            
local nome_variavel = valor
nome_variavel = valor -- global
            Exemplo 4
            
local tipo_dado nome_variavel
--
nome_variavel = 10  --global
            
                As variáveis e constantes podem ser declaradas dentro ou fora de funções. Quando declaradas 
                fora de funções tem escopo global e dentro de funções o escopo é local.
            
         
     
    
        
Inferência de dados
    
    
        
            
                A linguagem Lua possui a característica de inferência de dados. Isso significa que quanto 
                criamos uma variável não precisamos declarar seu tipo. A inferência do tipo de dado está 
                associada ao valor atribuído à variável. 
            
            Sintaxe
            
local nome_variavel = valor
nome_variavel = valor
            Exemplo 5
            
local numero = 10
texto = "string"
         
     
    
        
Nomeando variáveis
    
    
        
            
                Identificadores são nomes que utilizamos para identificar variáveis , funções e outros. 
                Na linguagem Lua, assim como em várias outras, precisamos seguir alguma regras:
            
            Regras
            
                - Iniciar com letras A-Z, a-z ou underscore
 
                - Palavras reservadas não podem ser utilizadas
 
                - Não podem iniciar com dígitos 0-9 ou caracteres especiais como $ , %, , # e outros
 
            
            Exemplos
            
--válidos
nome
NOME
_nome
--inválidos
1nome
$nome
123
         
     
    
    
        
            
                Agora que já temos conhecimento sobre os tipos básicos de dados presentes na linguagem Lua, 
                vamos ver alguns exemplos de declaração de variáveis nessa linguagem. 
            
            Exemplo 6
            
--number
local number var1 = 10
local var1 = 10 --inferência
local number var2 = 7.77
local number var3 = -1
--strings
local var1 = [[terceira forma de declarar string]] --inferência
local string var2 = "uma string em Lua"
local string var3 = 'Outra String Em Lua'
--Vetores e matrizes
local string vetor= {"Lua", "Tutorial"}
local var1 = {{1,2},{3,4}} //inferência
--boolean
local var = true
            
                Os tipos de dados function, 
                coroutines, 
                table e 
                outros, podem ser vistos em suas respectivas seções.
            
         
     
    
    
        
            
                Abaixo é apresentada a tabela contendo a lista de palavras reservadas mencionadas nas 
                regras acima que não podem ser utilizadas como identificadores(Variáveis, funções e outros):
            
            
                Tab. 1: Palavras reservadas
                
                    
                         | 
                         | 
                         | 
                         | 
                    
                
                
                    
                        | and | 
                        elseif | 
                        function | 
                        nil | 
                    
                    
                        | return | 
                        while | 
                        break | 
                        end | 
                    
                    
                        | if | 
                        not | 
                        then | 
                        do | 
                    
                    
                        | false | 
                        in | 
                        or | 
                        true | 
                    
                    
                        | else | 
                        for | 
                        global | 
                        local | 
                    
                    
                        | repeat | 
                        until | 
                        - | 
                        - | 
                    
                
            
         
     
    
        
Verificando tipos
    
    
        
            
                Com o uso de inferência da linguagem, em alguns momentos precisamos verificar o tipo de 
                dado uma que variável possui. Nessa situação, utilizamos a função type:
            
            Sintaxe
            
type(v)
            Onde
            v: variável que desejamos descobrir o tipo
            Retorno
            string contendo nome do tipo de dado de v
            Exemplo 7
            
var1 = 1.99
print(type(var1))
            Saída
            
number
         
     
    
        Histórico de atualizações
        
     
    
        
            
                - 15/09/2025 - revisão 3 - Ajustes: pontuais, sintaxes, objetivos e target de links internos
 
                - 12/09/2024 - revisão 2 - Correção em link Portugol e outros pequenos ajustes gramaticais 
 
                - 03/10/2023 - revisão 1 - Correção em referências e erros gramaticais
 
                - 26/05/2023 - versão inicial
 
            
         
     
    
            
            
                
                    
                    Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
                em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.