Como importar meus próprios modulos

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Como importar meus próprios modulos

Weslei Ramos
Por exemplo em python quando eu queria encapsular alguma parte do código eu usava import e ele carregava o arquivo e eu chamava as funções e tudo mais. Eu queria saber se há alguma maneira de eu fazer isso em Lua eu vi que da para chamar libs usando require eu queria saber se da para chamar minhas "libs" usando o mesmo ?

--
Lua BR - http://groups.google.com/group/lua-br
---
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Como importar meus próprios modulos

Jhonathan Paulo Banczek
Não entendi muito bem sua pergunta, mas segue um exemplo, que é o melhor
jeito de entender algo.

No arquivo luamlp.lua contem o código fonte do programa
e no arquivo test_luamlp.lua tem um exemplo do "import" do Lua: o "require"

Eu carrego os dados do meu programa pra uma variável
e uso ela para acessar os recursos:

luamlp = require 'luamlp'


Em 19 de janeiro de 2015 22:43, Weslei Ramos <[hidden email]> escreveu:
Por exemplo em python quando eu queria encapsular alguma parte do código eu usava import e ele carregava o arquivo e eu chamava as funções e tudo mais. Eu queria saber se há alguma maneira de eu fazer isso em Lua eu vi que da para chamar libs usando require eu queria saber se da para chamar minhas "libs" usando o mesmo ?

--
Lua BR - http://groups.google.com/group/lua-br
---
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para mais opções, acesse https://groups.google.com/d/optout.



--
________________________________________

Atenciosamente
Jhonathan Paulo Banczek

___________________________________

--
Lua BR - http://groups.google.com/group/lua-br
---
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Como importar meus próprios modulos

Tomás Guisasola-2
Olá

> Eu carrego os dados do meu programa pra uma variável
> e uso ela para acessar os recursos:
>
> luamlp = require 'luamlp'

A função require não é exatamente como o import de Python.  Na verdade,
parece ser bem diferente.  require() de Lua é uma simples função, como
qualquer outra (enquanto a construção import de Python parece ser um
comando/statement).  O que ela faz é procurar por um arquivo e
executá-lo, retornando seu resultado, se houver.

Nós, programadores Lua, temos por hábito escrever módulos em arquivos
isolados e cuja última linha retorna uma tabela que contém todos os
elementos exportados pelo módulo.  Dessa forma o exemplo acima funciona
como esperamos.

Vale resaltar que os módulos Lua não costumam registrar nomes globais,
por isso a atribuição do resultado da require a um nome que normalmente
é uma variável local, como em:

local luamlp = require"luamlp"

>> Por exemplo em python quando eu queria encapsular alguma parte do
>> código eu usava import e ele carregava o arquivo e eu chamava as
>> funções e tudo mais. Eu queria saber se há alguma maneira de eu
>> fazer isso em Lua eu vi que da para chamar libs usando require eu
>> queria saber se da para chamar minhas "libs" usando o mesmo ?

Para completar, a função require serve para encontrar tanto arquivos com
código fonte Lua quanto bibliotecas binárias, tipicamente escritas em C.
  Para o programador, não faz muita diferença, pois ele estará repetindo
o mesmo modelo, como em:

local postgres = require"luasql.postgres"

Abraço,
Tomás

--
Lua BR - http://groups.google.com/group/lua-br
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/d/optout.