Objetivos
    
    
    
        
Módulo/Biblioteca do usuário
    
    
        
            
                Quando nossos programas escritos em Lua crescem, precisamos dividí-los em partes menores para 
                melhor gerenciamento, compreensão, manutenção e separação de responsabilidade. Com isso em mente,
                a linguagem Lua nos permite dividir nossos programas em vários arquivos, criando assim os módulos
                ou bibliotecas do usuário.
            
            
                Para a execução do exemplos abaixo, é necessário uma IDE Desktop, pois os será necessário a 
                criação arquivos .lua em uma pasta local. A IDE SciTE é recomendada.
            
         
     
    
        
Criando um módulo
    
    
        
            
                Para criarmos novos módulos utilizando a linguagem Lua, basta criarmos um novo arquivo com 
                a extensão .lua.
            
            Sintaxe
            
nome_modulo.lua
            Exemplo 1
            
calc.lua
            
                Nessos próximos exemplos vamos deixar os arquivos .lua em uma mesma pasta para facilitar 
                a importação. Uma calculadora básica de inteiros será criada para exemplificar o uso 
                de módulos em Lua.
            
         
     
    
    
        
            
                Vamos agora definir as funções de nossa calculadora para realizarmos as operações básicas 
                adição, subtração, divisão e multiplicação. Essas funções serão 
                criadas no arquivo calc.lua.
            
            Sintaxe
            function nome_modulo.nome_funcao(<parametros>)
 --corpo função
 return valor_retorno
end
            
                Como visto acima, o nome do módulo e o operador (.) são utilizados para a declaração das funções:
            
            Exemplo 2
            
--arquivo calc.lua
local calc = {} --módulo calc
//associando funções ao módulo
function calc.adicao(v1,v2)
  return v1 + v2
end
function calc.subtracao(v1,v2)
  return v1 - v2
end
function calc.divisao(v1,v2)
  return v1 / v2 --necessário validar divisão por zero
end
function calc.multiplicacao(v1,v2)
  return v1 * v2
end
            Saída
            
-
            
                As validações necessárias para os parâmetros foram omitidas para melhor compreensão do exemplo.
            
         
     
    
    
        
            
                A importação é feita utilizando a função require que recebe como argumento o nome 
                do módulo que desejamos utilizar ou importar. Essa importação será feita no arquivo 
                main.lua.
            
            Sintaxe
            
nome_variavel = require("nome_modulo")
            Exemplo 3
            
--main.lua
calculadora = require("calc")
local ret = calculadora.adicao(1,2)
print(ret)
local ret = calculadora.subtracao(2,1)
print(ret)
local ret = calculadora.divisao(4,2)
print(ret)
local ret = calculadora.multiplicacao(1,2)
print(ret)
            Saída
            
3
1
2.0
2
         
     
    
        Histórico de atualizações
        
     
    
        
            
                - 15/09/2025 - revisão 3 - Ajustes: pontuais, sintaxes e objetivos
 
                - 12/09/2024 - revisão 2 - Pequenos ajuste 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.