Jump to content

Module:Lua call/doc

From Elite Dangerous Wiki

This is the documentation page for Module:Lua call

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

Main

{{#invoke:Lua call|main|Template:Var|Template:Var|Template:Var}}

The Template:Var are any key of your choice = any value of your choice. Values are interpreted as strings unless tonumber(value) isn't nil, i.e. numbers should be converted to the numeric type. No effort is made to interpret tables.

The Template:Var 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 Template:Var is written as Template:Var(Template:Var) where Template:Var means something in the Extension:Scribunto/Lua reference manual and Template:Var are the arbitrary variable names you've chosen.

Examples

Main

  • {{#invoke:Lua call|main|a=test |b=7|string.rep(a,b)}} → test test test test test test test 
  • {{#invoke:Lua call|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:Lua call|main|pattern=(%a)|replace=%1.|string=I can't get no satisfaction|mw.ustring.gsub(string,pattern,replace)|reserved_return=2}} → 22
  • {{#invoke:Lua call|main|value=1.4512|math.ceil(value)}} → 2
  • {{#invoke:Lua call|main|value=1.4512|math.modf(value)}} → 1
  • {{#invoke:Lua call|main|value=1.4512|math.modf(value)|reserved_return=2}} → 0.4512
  • {{#invoke:Lua call|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

  • {{#invoke:Lua call|call|string.format|%04x|127}} → 007f
  • {{#invoke:Lua call|call|math.modf|1.4512}} → 1
  • {{#invoke:Lua call|call|math.modf|1.4512|return=2}} → 1
  • {{#invoke:lua call|call|mw.text.unstripNoWiki|<nowiki>[[Wikipedia]]</nowiki>}} → Wikipedia

Errors

The module may generate script errors — whenever your call is not valid Lua code, you see the error you would normally have. For example,

{{#invoke:Lua call|main|value=1.4512|math.fmod(value)}} → Lua error in Module:Lua_call at line 42: bad argument #2 to 'fn' (number expected, got no value).

because the second value is lacking. No effort is made to trap these.