Subprogramas

28 views
Skip to first unread message

A L

unread,
May 28, 2019, 4:16:21 PM5/28/19
to lua...@googlegroups.com
Subprogramas podem ser passados como parâmetros em Lua? Qual seria o ambiente de referência do subprograma e os tipos de parâmetros são verificados em chamadas aos subprogramas passados?

Livre de vírus. www.avast.com.

Eric Chiesse

unread,
May 28, 2019, 5:15:24 PM5/28/19
to lua...@googlegroups.com
Em ter, 28 de mai de 2019 às 17:16, A L <myacc...@gmail.com> escreveu:
Subprogramas podem ser passados como parâmetros em Lua?

Sim. São as funções.

Qual seria o ambiente de referência do subprograma

O escopo? Lua tem escopo de bloco mas também admite closures.
 
e os tipos de parâmetros são verificados em chamadas aos subprogramas passados?

Lua tem tipagem dinâmica, logo os tipos não são verificados na chamada.
 

Livre de vírus. www.avast.com.

--
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 lua-br+un...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/CAEJfAX-6Y3zf-eMegXER6HUVSTkoskfBBSqayj9hYVnhQgnA7Q%40mail.gmail.com.
Para mais opções, acesse https://groups.google.com/d/optout.

A L

unread,
Jun 5, 2019, 4:48:00 PM6/5/19
to lua...@googlegroups.com
Os subprogramas podem ser sobrecarregados e genéricos? A definição de subprogramas pode aparecer em outras definições de subprogramas? A compilação separada ou independente é possível?

A L

unread,
Jun 5, 2019, 4:49:20 PM6/5/19
to lua...@googlegroups.com
  Os tipos dos parâmetros reais são verificados em relação aos tipos dos parâmetros formais?  

Denis Dos Santos Silva

unread,
Jun 5, 2019, 5:05:57 PM6/5/19
to Lua BR
via de regra linguagem de script* não tem suporte a verificação de tipo
existem algumas propostas para isso, mas, não é a proposta oficial da linguagem conforme o manual.

2.1 – Values and Types

Lua is a dynamically typed language. This means that variables do not have types; only values do. There are no type definitions in the language. All values carry their own type.

All values in Lua are first-class values. This means that all values can be stored in variables, passed as arguments to other functions, and returned as results.


*recentemente o php7.0.x+ adicionou esse suporte

A L

unread,
Jun 12, 2019, 8:43:06 PM6/12/19
to lua...@googlegroups.com
  A compilação separada ou independente é possível?  
 

Denis Dos Santos Silva

unread,
Jun 14, 2019, 9:22:07 AM6/14/19
to Lua BR
  A compilação separada ou independente é possível?  

o processo de compilação é realizado pelo programa *luac e sim pode ter N arquivos, porém, é necessário ter alguns cuidados.

exemplo:
$ luac-5.1 test1.lua test2.lua main.lua
$ lua-5.1 luac.out
** test1
** test2

--- arquivo: test1.lua
function test1()
        print("** test1");
end

--- arquivo: test2.lua
function test2()
        print("** test2");
end

--- arquivo: main.lua
test1();
test2();


NOTAS:
1-a linguagem Lua (e demais de scripts) não gera código-nativo, mas, *chunk (como é chamado pelo próprio manual) que é interpretado pela maquina virtual.
2-a linguagem Lua não tem compatibilidade entre versões diferentes (4.0, 5.0, 5.1, 5.2, 5.3, ...) e tem que se ter algum cuidado a com coisas relacionadas a ABI / EABI 




Em terça-feira, 28 de maio de 2019 17:16:21 UTC-3, A L escreveu:
Reply all
Reply to author
Forward
0 new messages