Difference between revisions of "Module:LuaCall/doc"

From blackwiki
Jump to navigation Jump to search
blackwiki>Wnt
(documenting - once going at all I think this should be alpha, because I have little idea what features are important to focus on.)
 
m (5 revisions imported)
 
(4 intermediate revisions by 4 users not shown)
Line 5: Line 5:
 
The module '''may''' generate script errors -- whenever your call isn't valid Lua code, you see the error you would normally have.  For example,
 
The module '''may''' generate script errors -- whenever your call isn't valid Lua code, you see the error you would normally have.  For example,
  
<nowiki>{{#invoke:LuaCall|main|value=1.4512|math.fmod(value)}}</nowiki> will produce  
+
<nowiki>{{#invoke:LuaCall|main|value=1.4512|math.fmod(value)}}</nowiki> will produce {{Script error}} because the second value is lacking.  No effort is made to trap these.
 
 
{{#invoke:LuaCall|main|value=1.4512|math.fmod(value)}}
 
 
 
because the second value is lacking.  No effort is made to trap these.
 
  
 
==Usage==
 
==Usage==
Line 26: Line 22:
 
==Examples==
 
==Examples==
  
 
+
<code><nowiki>{{#invoke:LuaCall|main|a=test&nbsp;|b=7|string.rep(a,b)}}</nowiki></code>
<nowiki>{{#invoke:LuaCall|main|a=test&nbsp;|b=7|string.rep(a,b)}}</nowiki>
 
  
 
{{#invoke:LuaCall|main|a=test&nbsp;|b=7|string.rep(a,b)}}
 
{{#invoke:LuaCall|main|a=test&nbsp;|b=7|string.rep(a,b)}}
  
<nowiki>{{#invoke:LuaCall|main|pattern=(%a)|replace=%1.|string=I can't get no satisfaction|mw.ustring.gsub(string,pattern,replace)|reserved_return=1}}</nowiki>
+
<code><nowiki>{{#invoke:LuaCall|main|pattern=(%a)|replace=%1.|string=I can't get no satisfaction|mw.ustring.gsub(string,pattern,replace)|reserved_return=1}}</nowiki></code>
  
 
{{#invoke:LuaCall|main|pattern=(%a)|replace=%1.|string=I can't get no satisfaction|mw.ustring.gsub(string,pattern,replace)|reserved_return=1}}
 
{{#invoke:LuaCall|main|pattern=(%a)|replace=%1.|string=I can't get no satisfaction|mw.ustring.gsub(string,pattern,replace)|reserved_return=1}}
  
 
+
<code><nowiki>{{#invoke:LuaCall|main|pattern=(%a)|replace=%1.|string=I can't get no satisfaction|mw.ustring.gsub(string,pattern,replace)|reserved_return=2}}</nowiki></code>
<nowiki>{{#invoke:LuaCall|main|pattern=(%a)|replace=%1.|string=I can't get no satisfaction|mw.ustring.gsub(string,pattern,replace)|reserved_return=2}}</nowiki>
 
  
 
{{#invoke:LuaCall|main|pattern=(%a)|replace=%1.|string=I can't get no satisfaction|mw.ustring.gsub(string,pattern,replace)|reserved_return=2}}
 
{{#invoke:LuaCall|main|pattern=(%a)|replace=%1.|string=I can't get no satisfaction|mw.ustring.gsub(string,pattern,replace)|reserved_return=2}}
  
<nowiki>{{#invoke:LuaCall|main|value=1.4512|math.ceil(value)}}</nowiki>
+
<code><nowiki>{{#invoke:LuaCall|main|value=1.4512|math.ceil(value)}}</nowiki></code>
  
 
{{#invoke:LuaCall|main|value=1.4512|math.ceil(value)}}
 
{{#invoke:LuaCall|main|value=1.4512|math.ceil(value)}}
  
<nowiki>{{#invoke:LuaCall|main|value=1.4512|math.modf(value)}}</nowiki>
+
<code><nowiki>{{#invoke:LuaCall|main|value=1.4512|math.modf(value)}}</nowiki></code>
  
 
{{#invoke:LuaCall|main|value=1.4512|math.modf(value)}}
 
{{#invoke:LuaCall|main|value=1.4512|math.modf(value)}}
  
<nowiki>{{#invoke:LuaCall|main|value=1.4512|math.modf(value)|reserved_return=2}}</nowiki>
+
<code><nowiki>{{#invoke:LuaCall|main|value=1.4512|math.modf(value)|reserved_return=2}}</nowiki></code>
  
 
{{#invoke:LuaCall|main|value=1.4512|math.modf(value)|reserved_return=2}}
 
{{#invoke:LuaCall|main|value=1.4512|math.modf(value)|reserved_return=2}}
 +
 +
<code><nowiki>{{#invoke:LuaCall|main|mw.text.nowiki(s)|s={{URL|1=https://www.Amazon.com/}}}}</nowiki></code>
 +
 +
{{#invoke:LuaCall|main|mw.text.nowiki(s)|s={{URL|1=https://www.Amazon.com/}}}}
 +
 +
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | |
 +
<!-- Template categories below this line, please -->
 +
 +
}}</includeonly>

Latest revision as of 07:50, 27 September 2020

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.

The module may generate script errors -- whenever your call isn't valid Lua code, you see the error you would normally have. For example,

{{#invoke:LuaCall|main|value=1.4512|math.fmod(value)}} will produce Template:Script error because the second value is lacking. No effort is made to trap these.

Usage

{{#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. No effort is made to interpret tables.

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

{{#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|value=1.4512|math.ceil(value)}}

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|main|mw.text.nowiki(s)|s={{URL|1=https://www.Amazon.com/}}}}

[[:Template:URL]]