Module:LuaCall/doc
This is the documentation page for Module:LuaCall
This module allows you to call any one single preinstalled Lua function, so that you don't need to write a module for one desired feature.
Usage[edit]
{{#invoke:LuaCall|main|''arbitrary variables''|''parameters''|''function''}}
The arbitrary variables are any key of your choice = any value of your choice. Values are interpreted as strings unless tonumber(value) is not NaN - i.e. numbers should be converted to the numeric type.
The parameters all begin with reserved_, which arbitrary variable should use.
- reserved_return sets which output from the function you want, and defaults to 1. For example, setting it to 2 for mw.ustring.gsub will return the number of replacements made.
- reserved_debug - nonzero value forces display of a not particularly useful debug text
The function is written as some.function.name(a,b,c) where some.function.name means something in the Extension:Scribunto/Lua_reference_manual and a,b,c are the arbitrary variable names you've chosen.
Examples[edit]
{{#invoke:LuaCall|call|math.ceil|1.4512}}
→ 2{{#invoke:LuaCall|get|math.pi}}
→ 3.1415926535898{{#invoke:LuaCall|main|a=1.4512|math.ceil(a)}}
→ 2{{#invoke:LuaCall|main|value=1.4512|math.modf(value)}}
→ 1{{#invoke:LuaCall|main|value=1.4512|math.modf(value)|reserved_return=2}}
→ 0.4512{{#invoke:LuaCall|call|string.format|%04x|127}}
→ 007f{{#invoke:LuaCall|call|math.modf|1.4512}}
→ 1{{#invoke:LuaCall|call|math.modf|1.4512|return=2}}
→ 1
{{#invoke:LuaCall|main|a=test |b=7|string.rep(a,b)}}
→ test test test test test test test{{#invoke:LuaCall|main|pattern=(%a)|replace=%1.|string=I can't get no satisfaction|mw.ustring.gsub(string,pattern,replace)|reserved_return=1}}
→ I. c.a.n.'t. g.e.t. n.o. s.a.t.i.s.f.a.c.t.i.o.n.{{#invoke:LuaCall|main|pattern=(%a)|replace=%1.|string=I can't get no satisfaction|mw.ustring.gsub(string,pattern,replace)|reserved_return=2}}
→ 22{{#invoke:LuaCall|main|mw.text.nowiki(s)|s={{URL|1=https://www.Amazon.com/}}}}
→ <span class="url">[https://www.Amazon.com/ www.amazon.com]</span>