Módulo:LuaCall/Testes/doc
Esta é uma subpágina de documentação para o Módulo:LuaCall/Testes. Ela contém informações sobre o seu uso, categorias, bem como todo o conteúdo que não faz parte do módulo original. |
Este módulo está classificado como alfa. Ele está pronto para aceitar dados de terceiros, e pode ser utilizado em algumas páginas para ver se aparecem problemas, mas deve ser vigiado. Sugestões para novas funções ou alterações dos seus mecanismos de dados de entrada e saída são bem-vindas. |
Este módulo permite que você chame qualquer função Lua pré-instalada, de forma que você não precise escrever um módulo para um recurso desejado.
Uso
editarMain
editar{{#invoke:LuaCall/Testes|main|variáveis arbitrárias|parâmetros|chamada de função}}
As variáveis arbitrárias são qualquer chave de sua escolha =
qualquer valor de sua escolha. Os valores são interpretados como sequências (strings), a menos que tonumber(value)
não seja nil
, ou seja, os números devem ser convertidos para o tipo numérico. Nenhum esforço é feito para interpretar tabelas.
Todos os parâmetros começam com reserved_
, que variável arbitrária deve usar.
reserved_return
define qual saída da função você deseja e o padrão é 1. Por exemplo, defini-lo como 2 para mw.ustring.gsub retornará o número de substituições feitas.reserved_debug
- valor diferente de zero força a exibição de um texto de depuração não particularmente útil
A chamada de função é escrita como nome.de.alguma.função(a,b,c)
onde nome.de.alguma.função significa algo no Extensão:Scribunto/Manual de referência Lua e a,b,c são os nomes de variáveis arbitrárias que você escolheu.
Exemplos
editarMain
editar{{#invoke:LuaCall/Testes|main|a=teste |b=7|string.rep(a,b)}}
→ teste teste teste teste teste teste teste{{#invoke:LuaCall/Testes|main|pattern=(%a)|replace=%1.|string=Eu não consigo nenhuma satisfação|mw.ustring.gsub(string,pattern,replace)|reserved_return=1}}
→ E.u. n.ã.o. c.o.n.s.i.g.o. n.e.n.h.u.m.a. s.a.t.i.s.f.a.ç.ã.o.{{#invoke:LuaCall/Testes|main|pattern=(%a)|replace=%1.|string=Eu não consigo nenhuma satisfação|mw.ustring.gsub(string,pattern,replace)|reserved_return=2}}
→ 29{{#invoke:LuaCall/Testes|main|value=1.4512|math.ceil(value)}}
→ 2{{#invoke:LuaCall/Testes|main|value=1.4512|math.modf(value)}}
→ 1{{#invoke:LuaCall/Testes|main|value=1.4512|math.modf(value)|reserved_return=2}}
→ 0.4512{{#invoke:LuaCall/Testes|main|mw.text.nowiki(s)|s={{URL|1=https://www.Amazon.com/}}}}
→ <span class="url">[https://www.Amazon.com/ www<wbr/>.amazon<wbr/>.com]</span>
Call
editar{{#invoke:LuaCall/Testes|call|string.format|%04x|127}}
→ 007f{{#invoke:LuaCall/Testes|call|math.modf|1.4512}}
→ 1{{#invoke:LuaCall/Testes|call|math.modf|1.4512|return=2}}
→ 1
Erros
editarO módulo pode gerar erros de script — sempre que sua chamada não for um código Lua válido, você verá o erro que normalmente teria. Por exemplo,
{{#invoke:LuaCall/Testes|main|value=1.4512|math.fmod(value)}}
→
Erro Lua em Módulo:LuaCall/Testes na linha 38: bad argument #2 to 'reserved_call' (number expected, got no value).
porque o segundo valor está faltando. Nenhum esforço é feito para capturar estes.