Re: Dúvida Simples - Parâmetros em Lua

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

Re: Dúvida Simples - Parâmetros em Lua

tarsiocold
Olá pessoal,

Sou iniciante da linguagem LUA e estou com uma dúvida: de que maneira eu faço a passagem de parâmetros entre documentos .lua?

Obrigado.

Em sábado, 5 de maio de 2012 11h52min32s UTC-3, Adrian Laubisch escreveu:
Pessoal, uma dúvida simples e provavelmente bem n00b, mas pesquisei na web e não encontrei resposta adequada.

É possível a passagem de parâmetros por referência em funções Lua?

Por exemplo, uma função assim:

function inc (param)
return param + 1
end

eu uso assim, e funciona:

variable = inc(variable)

Mas eu gostaria de ter a função assim:

function inc (param)
param = param + 1
end

e poder usá-la simplesmente assim:

inc(variable)


É possivel fazer algo semelhante?

Desde já obrigado!


|| Adrian Laubisch

--
Lua BR - http://groups.google.com/group/lua-br
Reply | Threaded
Open this post in threaded view
|

Re: Dúvida Simples - Parâmetros em Lua

Eric Chiesse
Acho que só com variáveis globais mesmo.

O que exatamente você quer fazer? Talvez haja soluções específicas
para o teu caso.

Abraço
---
Eric


Em 18 de dezembro de 2012 09:49,  <[hidden email]> escreveu:

> Olá pessoal,
>
> Sou iniciante da linguagem LUA e estou com uma dúvida: de que maneira eu
> faço a passagem de parâmetros entre documentos .lua?
>
> Obrigado.
>
> Em sábado, 5 de maio de 2012 11h52min32s UTC-3, Adrian Laubisch escreveu:
>>
>> Pessoal, uma dúvida simples e provavelmente bem n00b, mas pesquisei na web
>> e não encontrei resposta adequada.
>>
>> É possível a passagem de parâmetros por referência em funções Lua?
>>
>> Por exemplo, uma função assim:
>>
>> function inc (param)
>>
>> return param + 1
>>
>> end
>>
>> eu uso assim, e funciona:
>>
>> variable = inc(variable)
>>
>>
>> Mas eu gostaria de ter a função assim:
>>
>>
>> function inc (param)
>>
>> param = param + 1
>>
>> end
>>
>>
>> e poder usá-la simplesmente assim:
>>
>> inc(variable)
>>
>>
>> É possivel fazer algo semelhante?
>>
>> Desde já obrigado!
>>
>>
>> || Adrian Laubisch
>>
> --
> Lua BR - http://groups.google.com/group/lua-br

--
Lua BR - http://groups.google.com/group/lua-br
Reply | Threaded
Open this post in threaded view
|

Re: Dúvida Simples - Parâmetros em Lua

Elias Barrionovo
In reply to this post by tarsiocold
2012/12/18  <[hidden email]>:
> Olá pessoal,
>
> Sou iniciante da linguagem LUA e estou com uma dúvida: de que maneira eu
> faço a passagem de parâmetros entre documentos .lua?
>
> Obrigado.

Não sei se entendi o que você quer, mas acho que a função
loadfile[1][2] pode ajudar.

[1] 5.1: http://www.lua.org/manual/5.1/manual.html#pdf-loadfile
[2] 5.2: http://www.lua.org/manual/5.2/manual.html#pdf-loadfile

--
NI!

--
Lua BR - http://groups.google.com/group/lua-br
Reply | Threaded
Open this post in threaded view
|

Re: Dúvida Simples - Parâmetros em Lua

Eric Chiesse
Mas dá para passar parâmetros usando loadfile ?

---
Eric


Em 21 de dezembro de 2012 18:45, Elias Barrionovo
<[hidden email]> escreveu:

> 2012/12/18  <[hidden email]>:
>> Olá pessoal,
>>
>> Sou iniciante da linguagem LUA e estou com uma dúvida: de que maneira eu
>> faço a passagem de parâmetros entre documentos .lua?
>>
>> Obrigado.
>
> Não sei se entendi o que você quer, mas acho que a função
> loadfile[1][2] pode ajudar.
>
> [1] 5.1: http://www.lua.org/manual/5.1/manual.html#pdf-loadfile
> [2] 5.2: http://www.lua.org/manual/5.2/manual.html#pdf-loadfile
>
> --
> NI!
>
> --
> Lua BR - http://groups.google.com/group/lua-br

--
Lua BR - http://groups.google.com/group/lua-br
Reply | Threaded
Open this post in threaded view
|

Re: Re: [lua-br] Re: Dúvida Simples - Parâmetros em Lua

Tomás Guisasola-2
  Olá Eric

  Como você deve ter lido no manual, a função loadfile (assim
como a função load) retorna uma função.  Quando você chamar essa função
estará executando o conteúdo do arquivo, como se tivesse passado-o para
o interpretador de comandos Lua.  Então, basta passar os parâmetros como
em uma chamada normal! O código do arquivo deve receber esses parâmetros
como "varargs":

-- Não testei esse código !!!!!!!!

-- a.lua -----------
local params = { ... }
-- faz qualquer coisa com os parâmetros
return resultado, mensagem_de_erro -- fique à vontade :-)
-- a.lua -----------


-- b.lua -----------
local f = loadfile"a.lua"
f(1, 2) -- executando o arquivo com (1,2) como parâmetros
f("abc", "def") -- executando o arquivo com ("abc", "def") como parâmetros
-- b.lua -----------

-- Não testei esse código !!!!!!!!

  Espero que tenha ajudado.

  Abraços e Feliz Natal,
  Tomás

On Fri, 21 Dec 2012, Eric Chiesse wrote:

> Mas dá para passar parâmetros usando loadfile ?
>
> ---
> Eric
>
>
> Em 21 de dezembro de 2012 18:45, Elias Barrionovo
> <[hidden email]> escreveu:
>> 2012/12/18  <[hidden email]>:
>>> Olá pessoal,
>>>
>>> Sou iniciante da linguagem LUA e estou com uma dúvida: de que maneira eu
>>> faço a passagem de parâmetros entre documentos .lua?
>>>
>>> Obrigado.
>>
>> Não sei se entendi o que você quer, mas acho que a função
>> loadfile[1][2] pode ajudar.
>>
>> [1] 5.1: http://www.lua.org/manual/5.1/manual.html#pdf-loadfile
>> [2] 5.2: http://www.lua.org/manual/5.2/manual.html#pdf-loadfile
>>
>> --
>> NI!
>>
>> --
>> Lua BR - http://groups.google.com/group/lua-br
>
>

--

--
Lua BR - http://groups.google.com/group/lua-br
Reply | Threaded
Open this post in threaded view
|

Re: Re: [lua-br] Re: Dúvida Simples - Parâmetros em Lua

Eric Chiesse
Não é que funciona :)

Legal, o Natal vai ser mais feliz. rsrs.

Valeu!
---
Eric Chiesse


Em 22 de dezembro de 2012 10:29, Tomas Guisasola Gorham
<[hidden email]> escreveu:

>         Olá Eric
>
>         Como você deve ter lido no manual, a função loadfile (assim
> como a função load) retorna uma função.  Quando você chamar essa função
> estará executando o conteúdo do arquivo, como se tivesse passado-o para
> o interpretador de comandos Lua.  Então, basta passar os parâmetros como
> em uma chamada normal!  O código do arquivo deve receber esses parâmetros
> como "varargs":
>
> -- Não testei esse código !!!!!!!!
>
> -- a.lua -----------
> local params = { ... }
> -- faz qualquer coisa com os parâmetros
> return resultado, mensagem_de_erro -- fique à vontade :-)
> -- a.lua -----------
>
>
> -- b.lua -----------
> local f = loadfile"a.lua"
> f(1, 2) -- executando o arquivo com (1,2) como parâmetros
> f("abc", "def") -- executando o arquivo com ("abc", "def") como parâmetros
> -- b.lua -----------
>
> -- Não testei esse código !!!!!!!!
>
>         Espero que tenha ajudado.
>
>         Abraços e Feliz Natal,
>                 Tomás
>
>
> On Fri, 21 Dec 2012, Eric Chiesse wrote:
>
>> Mas dá para passar parâmetros usando loadfile ?
>>
>> ---
>> Eric
>>
>>
>> Em 21 de dezembro de 2012 18:45, Elias Barrionovo
>> <[hidden email]> escreveu:
>>>
>>> 2012/12/18  <[hidden email]>:
>>>>
>>>> Olá pessoal,
>>>>
>>>> Sou iniciante da linguagem LUA e estou com uma dúvida: de que maneira eu
>>>> faço a passagem de parâmetros entre documentos .lua?
>>>>
>>>> Obrigado.
>>>
>>>
>>> Não sei se entendi o que você quer, mas acho que a função
>>> loadfile[1][2] pode ajudar.
>>>
>>> [1] 5.1: http://www.lua.org/manual/5.1/manual.html#pdf-loadfile
>>> [2] 5.2: http://www.lua.org/manual/5.2/manual.html#pdf-loadfile
>>>
>>> --
>>> NI!
>>>
>>> --
>>> Lua BR - http://groups.google.com/group/lua-br
>>
>>
>>
>
> --
>
> --
> Lua BR - http://groups.google.com/group/lua-br

--
Lua BR - http://groups.google.com/group/lua-br
Reply | Threaded
Open this post in threaded view
|

Re: Re: [lua-br] Re: Dúvida Simples - Parâmetros em Lua

tarsiocold
Tomas Guisasola Gorham,

Esse trecho de código que você colocou, no arquivo b.lua, tem como acessar os valores das variáveis locais do arquivo a.lua usando a variável local f que está em b.lua? Tentei fazer esse seu exemplo e não funcionou.

Obrigado e Feliz Natal a todos!

Abraço.

Társio.

Em sábado, 22 de dezembro de 2012 19h37min03s UTC-3, Eric Chiesse escreveu:
Não é que funciona :)

Legal, o Natal vai ser mais feliz. rsrs.

Valeu!
---
Eric Chiesse


Em 22 de dezembro de 2012 10:29, Tomas Guisasola Gorham
<<a href="javascript:" target="_blank" gdf-obfuscated-mailto="NIhUBRMg3_cJ">to...@...> escreveu:

>         Olá Eric
>
>         Como você deve ter lido no manual, a função loadfile (assim
> como a função load) retorna uma função.  Quando você chamar essa função
> estará executando o conteúdo do arquivo, como se tivesse passado-o para
> o interpretador de comandos Lua.  Então, basta passar os parâmetros como
> em uma chamada normal!  O código do arquivo deve receber esses parâmetros
> como "varargs":
>
> -- Não testei esse código !!!!!!!!
>
> -- a.lua -----------
> local params = { ... }
> -- faz qualquer coisa com os parâmetros
> return resultado, mensagem_de_erro -- fique à vontade :-)
> -- a.lua -----------
>
>
> -- b.lua -----------
> local f = loadfile"a.lua"
> f(1, 2) -- executando o arquivo com (1,2) como parâmetros
> f("abc", "def") -- executando o arquivo com ("abc", "def") como parâmetros
> -- b.lua -----------
>
> -- Não testei esse código !!!!!!!!
>
>         Espero que tenha ajudado.
>
>         Abraços e Feliz Natal,
>                 Tomás
>
>
> On Fri, 21 Dec 2012, Eric Chiesse wrote:
>
>> Mas dá para passar parâmetros usando loadfile ?
>>
>> ---
>> Eric
>>
>>
>> Em 21 de dezembro de 2012 18:45, Elias Barrionovo
>> <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="NIhUBRMg3_cJ">elias....@...> escreveu:
>>>
>>> 2012/12/18  <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="NIhUBRMg3_cJ">tarsi...@...>:
>>>>
>>>> Olá pessoal,
>>>>
>>>> Sou iniciante da linguagem LUA e estou com uma dúvida: de que maneira eu
>>>> faço a passagem de parâmetros entre documentos .lua?
>>>>
>>>> Obrigado.
>>>
>>>
>>> Não sei se entendi o que você quer, mas acho que a função
>>> loadfile[1][2] pode ajudar.
>>>
>>> [1] 5.1: http://www.lua.org/manual/5.1/manual.html#pdf-loadfile
>>> [2] 5.2: http://www.lua.org/manual/5.2/manual.html#pdf-loadfile
>>>
>>> --
>>> NI!
>>>
>>> --
>>> Lua BR - http://groups.google.com/group/lua-br
>>
>>
>>
>
> --
>
> --
> Lua BR - http://groups.google.com/group/lua-br

--
Lua BR - http://groups.google.com/group/lua-br
Reply | Threaded
Open this post in threaded view
|

Re: Re: [lua-br] Re: Dúvida Simples - Parâmetros em Lua

Daniel Pimentel (d4n1)
Não entendi bem o que você queria fazer, se for só passar parametros em uma função, faz assim:

dani@beastie:/home/dani % lua
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> function lua_param(param1, param2)
>>   print(param1, param2)
>> end
> lua_param("Parametro 1", "Parametro 2")
Parametro 1    Parametro 2

P.S.: Usando Lua 5.1.5 como mostra na saída no FreeBSD 3:)

Em 22 de dezembro de 2012 22:38, <[hidden email]> escreveu:
Tomas Guisasola Gorham,

Esse trecho de código que você colocou, no arquivo b.lua, tem como acessar os valores das variáveis locais do arquivo a.lua usando a variável local f que está em b.lua? Tentei fazer esse seu exemplo e não funcionou.

Obrigado e Feliz Natal a todos!

Abraço.

Társio.

Em sábado, 22 de dezembro de 2012 19h37min03s UTC-3, Eric Chiesse escreveu:
Não é que funciona :)

Legal, o Natal vai ser mais feliz. rsrs.

Valeu!
---
Eric Chiesse


Em 22 de dezembro de 2012 10:29, Tomas Guisasola Gorham
<[hidden email]> escreveu:
>         Olá Eric

>
>         Como você deve ter lido no manual, a função loadfile (assim
> como a função load) retorna uma função.  Quando você chamar essa função
> estará executando o conteúdo do arquivo, como se tivesse passado-o para
> o interpretador de comandos Lua.  Então, basta passar os parâmetros como
> em uma chamada normal!  O código do arquivo deve receber esses parâmetros
> como "varargs":
>
> -- Não testei esse código !!!!!!!!
>
> -- a.lua -----------
> local params = { ... }
> -- faz qualquer coisa com os parâmetros
> return resultado, mensagem_de_erro -- fique à vontade :-)
> -- a.lua -----------
>
>
> -- b.lua -----------
> local f = loadfile"a.lua"
> f(1, 2) -- executando o arquivo com (1,2) como parâmetros
> f("abc", "def") -- executando o arquivo com ("abc", "def") como parâmetros
> -- b.lua -----------
>
> -- Não testei esse código !!!!!!!!
>
>         Espero que tenha ajudado.
>
>         Abraços e Feliz Natal,
>                 Tomás
>
>
> On Fri, 21 Dec 2012, Eric Chiesse wrote:
>
>> Mas dá para passar parâmetros usando loadfile ?
>>
>> ---
>> Eric
>>
>>
>> Em 21 de dezembro de 2012 18:45, Elias Barrionovo
>> <[hidden email]> escreveu:
>>>
>>> 2012/12/18  <[hidden email]>:
>>>>

>>>> Olá pessoal,
>>>>
>>>> Sou iniciante da linguagem LUA e estou com uma dúvida: de que maneira eu
>>>> faço a passagem de parâmetros entre documentos .lua?
>>>>
>>>> Obrigado.
>>>
>>>
>>> Não sei se entendi o que você quer, mas acho que a função
>>> loadfile[1][2] pode ajudar.
>>>
>>> [1] 5.1: http://www.lua.org/manual/5.1/manual.html#pdf-loadfile
>>> [2] 5.2: http://www.lua.org/manual/5.2/manual.html#pdf-loadfile
>>>
>>> --
>>> NI!
>>>
>>> --
>>> Lua BR - http://groups.google.com/group/lua-br
>>
>>
>>
>
> --
>
> --
> Lua BR - http://groups.google.com/group/lua-br



--
Daniel Melo (d4n1)

--
Lua BR - http://groups.google.com/group/lua-br
Reply | Threaded
Open this post in threaded view
|

Re: Re: [lua-br] Re: Dúvida Simples - Parâmetros em Lua

tarsiocold
O que eu quero é acessar os valores das variáveis que são locais em outro arquivo .lua

Obrigado.

Abs,

Társio.

Em sábado, 22 de dezembro de 2012 22h53min03s UTC-3, d4n1 escreveu:
Não entendi bem o que você queria fazer, se for só passar parametros em uma função, faz assim:

dani@beastie:/home/dani % lua
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> function lua_param(param1, param2)
>>   print(param1, param2)
>> end
> lua_param("Parametro 1", "Parametro 2")
Parametro 1    Parametro 2

P.S.: Usando Lua 5.1.5 como mostra na saída no FreeBSD 3:)

Em 22 de dezembro de 2012 22:38, <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="ycXIUIQfaJUJ">tarsi...@...> escreveu:
Tomas Guisasola Gorham,

Esse trecho de código que você colocou, no arquivo b.lua, tem como acessar os valores das variáveis locais do arquivo a.lua usando a variável local f que está em b.lua? Tentei fazer esse seu exemplo e não funcionou.

Obrigado e Feliz Natal a todos!

Abraço.

Társio.

Em sábado, 22 de dezembro de 2012 19h37min03s UTC-3, Eric Chiesse escreveu:
Não é que funciona :)

Legal, o Natal vai ser mais feliz. rsrs.

Valeu!
---
Eric Chiesse


Em 22 de dezembro de 2012 10:29, Tomas Guisasola Gorham
<[hidden email]> escreveu:
>         Olá Eric

>
>         Como você deve ter lido no manual, a função loadfile (assim
> como a função load) retorna uma função.  Quando você chamar essa função
> estará executando o conteúdo do arquivo, como se tivesse passado-o para
> o interpretador de comandos Lua.  Então, basta passar os parâmetros como
> em uma chamada normal!  O código do arquivo deve receber esses parâmetros
> como "varargs":
>
> -- Não testei esse código !!!!!!!!
>
> -- a.lua -----------
> local params = { ... }
> -- faz qualquer coisa com os parâmetros
> return resultado, mensagem_de_erro -- fique à vontade :-)
> -- a.lua -----------
>
>
> -- b.lua -----------
> local f = loadfile"a.lua"
> f(1, 2) -- executando o arquivo com (1,2) como parâmetros
> f("abc", "def") -- executando o arquivo com ("abc", "def") como parâmetros
> -- b.lua -----------
>
> -- Não testei esse código !!!!!!!!
>
>         Espero que tenha ajudado.
>
>         Abraços e Feliz Natal,
>                 Tomás
>
>
> On Fri, 21 Dec 2012, Eric Chiesse wrote:
>
>> Mas dá para passar parâmetros usando loadfile ?
>>
>> ---
>> Eric
>>
>>
>> Em 21 de dezembro de 2012 18:45, Elias Barrionovo
>> <[hidden email]> escreveu:
>>>
>>> 2012/12/18  <[hidden email]>:
>>>>

>>>> Olá pessoal,
>>>>
>>>> Sou iniciante da linguagem LUA e estou com uma dúvida: de que maneira eu
>>>> faço a passagem de parâmetros entre documentos .lua?
>>>>
>>>> Obrigado.
>>>
>>>
>>> Não sei se entendi o que você quer, mas acho que a função
>>> loadfile[1][2] pode ajudar.
>>>
>>> [1] 5.1: http://www.lua.org/manual/5.1/manual.html#pdf-loadfile
>>> [2] 5.2: http://www.lua.org/manual/5.2/manual.html#pdf-loadfile
>>>
>>> --
>>> NI!
>>>
>>> --
>>> Lua BR - http://groups.google.com/group/lua-br
>>
>>
>>
>
> --
>
> --
> Lua BR - http://groups.google.com/group/lua-br



--
Daniel Melo (d4n1)

--
Lua BR - http://groups.google.com/group/lua-br
Reply | Threaded
Open this post in threaded view
|

Re: Re: [lua-br] Re: Dúvida Simples - Parâmetros em Lua

Daniel Pimentel (d4n1)
Descupe-me ter entendido errado, o que o Tomas passou deve funcionar.

Em 22 de dezembro de 2012 23:06, <[hidden email]> escreveu:
O que eu quero é acessar os valores das variáveis que são locais em outro arquivo .lua

Obrigado.

Abs,

Társio.

Em sábado, 22 de dezembro de 2012 22h53min03s UTC-3, d4n1 escreveu:
Não entendi bem o que você queria fazer, se for só passar parametros em uma função, faz assim:

dani@beastie:/home/dani % lua
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> function lua_param(param1, param2)
>>   print(param1, param2)
>> end
> lua_param("Parametro 1", "Parametro 2")
Parametro 1    Parametro 2

P.S.: Usando Lua 5.1.5 como mostra na saída no FreeBSD 3:)

Em 22 de dezembro de 2012 22:38, <[hidden email]> escreveu:

Tomas Guisasola Gorham,

Esse trecho de código que você colocou, no arquivo b.lua, tem como acessar os valores das variáveis locais do arquivo a.lua usando a variável local f que está em b.lua? Tentei fazer esse seu exemplo e não funcionou.

Obrigado e Feliz Natal a todos!

Abraço.

Társio.

Em sábado, 22 de dezembro de 2012 19h37min03s UTC-3, Eric Chiesse escreveu:
Não é que funciona :)

Legal, o Natal vai ser mais feliz. rsrs.

Valeu!
---
Eric Chiesse


Em 22 de dezembro de 2012 10:29, Tomas Guisasola Gorham
<[hidden email]> escreveu:
>         Olá Eric

>
>         Como você deve ter lido no manual, a função loadfile (assim
> como a função load) retorna uma função.  Quando você chamar essa função
> estará executando o conteúdo do arquivo, como se tivesse passado-o para
> o interpretador de comandos Lua.  Então, basta passar os parâmetros como
> em uma chamada normal!  O código do arquivo deve receber esses parâmetros
> como "varargs":
>
> -- Não testei esse código !!!!!!!!
>
> -- a.lua -----------
> local params = { ... }
> -- faz qualquer coisa com os parâmetros
> return resultado, mensagem_de_erro -- fique à vontade :-)
> -- a.lua -----------
>
>
> -- b.lua -----------
> local f = loadfile"a.lua"
> f(1, 2) -- executando o arquivo com (1,2) como parâmetros
> f("abc", "def") -- executando o arquivo com ("abc", "def") como parâmetros
> -- b.lua -----------
>
> -- Não testei esse código !!!!!!!!
>
>         Espero que tenha ajudado.
>
>         Abraços e Feliz Natal,
>                 Tomás
>
>
> On Fri, 21 Dec 2012, Eric Chiesse wrote:
>
>> Mas dá para passar parâmetros usando loadfile ?
>>
>> ---
>> Eric
>>
>>
>> Em 21 de dezembro de 2012 18:45, Elias Barrionovo
>> <[hidden email]> escreveu:
>>>
>>> 2012/12/18  <[hidden email]>:
>>>>

>>>> Olá pessoal,
>>>>
>>>> Sou iniciante da linguagem LUA e estou com uma dúvida: de que maneira eu
>>>> faço a passagem de parâmetros entre documentos .lua?
>>>>
>>>> Obrigado.
>>>
>>>
>>> Não sei se entendi o que você quer, mas acho que a função
>>> loadfile[1][2] pode ajudar.
>>>
>>> [1] 5.1: http://www.lua.org/manual/5.1/manual.html#pdf-loadfile
>>> [2] 5.2: http://www.lua.org/manual/5.2/manual.html#pdf-loadfile
>>>
>>> --
>>> NI!
>>>
>>> --
>>> Lua BR - http://groups.google.com/group/lua-br
>>
>>
>>
>
> --
>
> --
> Lua BR - http://groups.google.com/group/lua-br



--
Daniel Melo (d4n1)



--
Daniel Melo (d4n1 3:)

--
Lua BR - http://groups.google.com/group/lua-br
Reply | Threaded
Open this post in threaded view
|

Re: Re: [lua-br] Re: Dúvida Simples - Parâmetros em Lua

tarsiocold
Não funcionou. Eu não consegui ter acesso à variável local do outro arquivo. Independente do seu escopo, global ou local, os dados armazenados em uma variável de um arquivo a.lua não são visíveis no arquivo b.lua e vice-versa. O que eu preciso é justamente ter essa flexibilidade.


Obrigado.

Abs,

Társio.
Em sábado, 22 de dezembro de 2012 23h32min32s UTC-3, d4n1 escreveu:
Descupe-me ter entendido errado, o que o Tomas passou deve funcionar.

Em 22 de dezembro de 2012 23:06, <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="qlL2ndLquR4J">tarsi...@...> escreveu:
O que eu quero é acessar os valores das variáveis que são locais em outro arquivo .lua

Obrigado.

Abs,

Társio.

Em sábado, 22 de dezembro de 2012 22h53min03s UTC-3, d4n1 escreveu:
Não entendi bem o que você queria fazer, se for só passar parametros em uma função, faz assim:

dani@beastie:/home/dani % lua
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> function lua_param(param1, param2)
>>   print(param1, param2)
>> end
> lua_param("Parametro 1", "Parametro 2")
Parametro 1    Parametro 2

P.S.: Usando Lua 5.1.5 como mostra na saída no FreeBSD 3:)

Em 22 de dezembro de 2012 22:38, <[hidden email]> escreveu:

Tomas Guisasola Gorham,

Esse trecho de código que você colocou, no arquivo b.lua, tem como acessar os valores das variáveis locais do arquivo a.lua usando a variável local f que está em b.lua? Tentei fazer esse seu exemplo e não funcionou.

Obrigado e Feliz Natal a todos!

Abraço.

Társio.

Em sábado, 22 de dezembro de 2012 19h37min03s UTC-3, Eric Chiesse escreveu:
Não é que funciona :)

Legal, o Natal vai ser mais feliz. rsrs.

Valeu!
---
Eric Chiesse


Em 22 de dezembro de 2012 10:29, Tomas Guisasola Gorham
<[hidden email]> escreveu:
>         Olá Eric

>
>         Como você deve ter lido no manual, a função loadfile (assim
> como a função load) retorna uma função.  Quando você chamar essa função
> estará executando o conteúdo do arquivo, como se tivesse passado-o para
> o interpretador de comandos Lua.  Então, basta passar os parâmetros como
> em uma chamada normal!  O código do arquivo deve receber esses parâmetros
> como "varargs":
>
> -- Não testei esse código !!!!!!!!
>
> -- a.lua -----------
> local params = { ... }
> -- faz qualquer coisa com os parâmetros
> return resultado, mensagem_de_erro -- fique à vontade :-)
> -- a.lua -----------
>
>
> -- b.lua -----------
> local f = loadfile"a.lua"
> f(1, 2) -- executando o arquivo com (1,2) como parâmetros
> f("abc", "def") -- executando o arquivo com ("abc", "def") como parâmetros
> -- b.lua -----------
>
> -- Não testei esse código !!!!!!!!
>
>         Espero que tenha ajudado.
>
>         Abraços e Feliz Natal,
>                 Tomás
>
>
> On Fri, 21 Dec 2012, Eric Chiesse wrote:
>
>> Mas dá para passar parâmetros usando loadfile ?
>>
>> ---
>> Eric
>>
>>
>> Em 21 de dezembro de 2012 18:45, Elias Barrionovo
>> <[hidden email]> escreveu:
>>>
>>> 2012/12/18  <[hidden email]>:
>>>>

>>>> Olá pessoal,
>>>>
>>>> Sou iniciante da linguagem LUA e estou com uma dúvida: de que maneira eu
>>>> faço a passagem de parâmetros entre documentos .lua?
>>>>
>>>> Obrigado.
>>>
>>>
>>> Não sei se entendi o que você quer, mas acho que a função
>>> loadfile[1][2] pode ajudar.
>>>
>>> [1] 5.1: http://www.lua.org/manual/5.1/manual.html#pdf-loadfile
>>> [2] 5.2: http://www.lua.org/manual/5.2/manual.html#pdf-loadfile
>>>
>>> --
>>> NI!
>>>
>>> --
>>> Lua BR - http://groups.google.com/group/lua-br
>>
>>
>>
>
> --
>
> --
> Lua BR - http://groups.google.com/group/lua-br



--
Daniel Melo (d4n1)



--
Daniel Melo (d4n1 3:)

--
Lua BR - http://groups.google.com/group/lua-br
Reply | Threaded
Open this post in threaded view
|

Re: Re: [lua-br] Re: Dúvida Simples - Parâmetros em Lua

Eric Chiesse
Você não vai ter acesso às variáveis locais do outro arquivo. Do
contrário não seriam locais.

O que o Tomas mostrou foi como passar variáveis via loadfile e
varargs. Mas o código dele é só um exemplo do conceito, não deve rodar
mesmo.

Tenta fazer isso aqui:

A.lua:
local args = {...}
return args[1] + args[2]

Ai chama o interpretador na linha de comando e faz:
soma = loadfile"A.lua"
print(soma(2,3))

Isso deve imprimir 5 na tela. Rodei aqui e funcionou.

Se não for esse tipo de comportamento o que você quer aí você precisa
dar mais detalhes.

Talvez uma alternativa seja você usar a biblioteca de debug do lua
(debug.getlocal). Mas normalmente o código começa a cheirar a
gambiarra.

Abraço.
---
Eric


Em 23 de dezembro de 2012 00:00,  <[hidden email]> escreveu:

> Não funcionou. Eu não consegui ter acesso à variável local do outro arquivo.
> Independente do seu escopo, global ou local, os dados armazenados em uma
> variável de um arquivo a.lua não são visíveis no arquivo b.lua e vice-versa.
> O que eu preciso é justamente ter essa flexibilidade.
>
>
> Obrigado.
>
> Abs,
>
> Társio.
> Em sábado, 22 de dezembro de 2012 23h32min32s UTC-3, d4n1 escreveu:
>>
>> Descupe-me ter entendido errado, o que o Tomas passou deve funcionar.
>>
>> Em 22 de dezembro de 2012 23:06, <[hidden email]> escreveu:
>>
>>> O que eu quero é acessar os valores das variáveis que são locais em outro
>>> arquivo .lua
>>>
>>> Obrigado.
>>>
>>> Abs,
>>>
>>> Társio.
>>>
>>> Em sábado, 22 de dezembro de 2012 22h53min03s UTC-3, d4n1 escreveu:
>>>>
>>>> Não entendi bem o que você queria fazer, se for só passar parametros em
>>>> uma função, faz assim:
>>>>
>>>> dani@beastie:/home/dani % lua
>>>> Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
>>>> > function lua_param(param1, param2)
>>>> >>   print(param1, param2)
>>>> >> end
>>>> > lua_param("Parametro 1", "Parametro 2")
>>>> Parametro 1    Parametro 2
>>>>
>>>> P.S.: Usando Lua 5.1.5 como mostra na saída no FreeBSD 3:)
>>>>
>>>> Em 22 de dezembro de 2012 22:38, <[hidden email]> escreveu:
>>>>
>>>>> Tomas Guisasola Gorham,
>>>>>
>>>>> Esse trecho de código que você colocou, no arquivo b.lua, tem como
>>>>> acessar os valores das variáveis locais do arquivo a.lua usando a variável
>>>>> local f que está em b.lua? Tentei fazer esse seu exemplo e não funcionou.
>>>>>
>>>>> Obrigado e Feliz Natal a todos!
>>>>>
>>>>> Abraço.
>>>>>
>>>>> Társio.
>>>>>
>>>>> Em sábado, 22 de dezembro de 2012 19h37min03s UTC-3, Eric Chiesse
>>>>> escreveu:
>>>>>>
>>>>>> Não é que funciona :)
>>>>>>
>>>>>> Legal, o Natal vai ser mais feliz. rsrs.
>>>>>>
>>>>>> Valeu!
>>>>>> ---
>>>>>> Eric Chiesse
>>>>>>
>>>>>>
>>>>>> Em 22 de dezembro de 2012 10:29, Tomas Guisasola Gorham
>>>>>> <[hidden email]> escreveu:
>>>>>> >         Olá Eric
>>>>>> >
>>>>>> >         Como você deve ter lido no manual, a função loadfile (assim
>>>>>> > como a função load) retorna uma função.  Quando você chamar essa
>>>>>> > função
>>>>>> > estará executando o conteúdo do arquivo, como se tivesse passado-o
>>>>>> > para
>>>>>> > o interpretador de comandos Lua.  Então, basta passar os parâmetros
>>>>>> > como
>>>>>> > em uma chamada normal!  O código do arquivo deve receber esses
>>>>>> > parâmetros
>>>>>> > como "varargs":
>>>>>> >
>>>>>> > -- Não testei esse código !!!!!!!!
>>>>>> >
>>>>>> > -- a.lua -----------
>>>>>> > local params = { ... }
>>>>>> > -- faz qualquer coisa com os parâmetros
>>>>>> > return resultado, mensagem_de_erro -- fique à vontade :-)
>>>>>> > -- a.lua -----------
>>>>>> >
>>>>>> >
>>>>>> > -- b.lua -----------
>>>>>> > local f = loadfile"a.lua"
>>>>>> > f(1, 2) -- executando o arquivo com (1,2) como parâmetros
>>>>>> > f("abc", "def") -- executando o arquivo com ("abc", "def") como
>>>>>> > parâmetros
>>>>>> > -- b.lua -----------
>>>>>> >
>>>>>> > -- Não testei esse código !!!!!!!!
>>>>>> >
>>>>>> >         Espero que tenha ajudado.
>>>>>> >
>>>>>> >         Abraços e Feliz Natal,
>>>>>> >                 Tomás
>>>>>> >
>>>>>> >
>>>>>> > On Fri, 21 Dec 2012, Eric Chiesse wrote:
>>>>>> >
>>>>>> >> Mas dá para passar parâmetros usando loadfile ?
>>>>>> >>
>>>>>> >> ---
>>>>>> >> Eric
>>>>>> >>
>>>>>> >>
>>>>>> >> Em 21 de dezembro de 2012 18:45, Elias Barrionovo
>>>>>> >> <[hidden email]> escreveu:
>>>>>> >>>
>>>>>> >>> 2012/12/18  <[hidden email]>:
>>>>>> >>>>
>>>>>> >>>> Olá pessoal,
>>>>>> >>>>
>>>>>> >>>> Sou iniciante da linguagem LUA e estou com uma dúvida: de que
>>>>>> >>>> maneira eu
>>>>>> >>>> faço a passagem de parâmetros entre documentos .lua?
>>>>>> >>>>
>>>>>> >>>> Obrigado.
>>>>>> >>>
>>>>>> >>>
>>>>>> >>> Não sei se entendi o que você quer, mas acho que a função
>>>>>> >>> loadfile[1][2] pode ajudar.
>>>>>> >>>
>>>>>> >>> [1] 5.1: http://www.lua.org/manual/5.1/manual.html#pdf-loadfile
>>>>>> >>> [2] 5.2: http://www.lua.org/manual/5.2/manual.html#pdf-loadfile
>>>>>> >>>
>>>>>> >>> --
>>>>>> >>> NI!
>>>>>> >>>
>>>>>> >>> --
>>>>>> >>> Lua BR - http://groups.google.com/group/lua-br
>>>>>> >>
>>>>>> >>
>>>>>> >>
>>>>>> >
>>>>>> > --
>>>>>> >
>>>>>> > --
>>>>>> > Lua BR - http://groups.google.com/group/lua-br
>>>>>
>>>>> --
>>>>> Lua BR - http://groups.google.com/group/lua-br
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Daniel Melo (d4n1)
>>>
>>> --
>>> Lua BR - http://groups.google.com/group/lua-br
>>
>>
>>
>>
>> --
>> Daniel Melo (d4n1 3:)
>
> --
> Lua BR - http://groups.google.com/group/lua-br

--
Lua BR - http://groups.google.com/group/lua-br