Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Criar um módulo
  2. Declarar funções de um módulo
  3. Importar e usar um módulo

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.

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.

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 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
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
-

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
  1. 12/09/2024 - revisão 2 - Pequenos ajuste gramaticais
  2. 03/10/2023 - revisão 1 - Correção em referências e erros gramaticais
  3. 26/05/2023 - versão inicial