Templat:Invoke
| Templat ini menggunakan Lua: |
Template ini dapat digunakan untuk men-debug parameter templat.
Penggunaan
Main
{{#invoke:Lua call|main|arbitrary variables|parameters|functioncall}}
arbitrary variables ada kunci pilihan Anda = nilai apa pun pilihan Anda. Nilai ditafsirkan sebagai string kecuali tonumber(value) tidak nil, yaitu angka harus dikonversi ke tipe numerik. Tidak ada upaya untuk menafsirkan tabel..
parameters semua dimulai dengan reserved_, ·variabel sembarangan mana yang harus digunakan.
reserved_returnmengatur output mana dari fungsi yang Anda inginkan, dan default ke 1. Misalnya, mengaturnya ke 2 untuk mw.ustring.gsub akan mengembalikan jumlah penggantian yang dilakukan.reserved_debug- nilai bukan nol memaksa tampilan teks debug yang tidak terlalu berguna
The functioncall ditulis sebagai some.function.name(a,b,c) dimana some.function.name berarti sesuatu di dalamnya Extension:Scribunto/Lua reference manual dan a,b,c adalah nama variabel acak yang telah Anda pilih.
Contoh
Main
{{#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/}}}}→ <span class="url">[https://www.Amazon.com/ www<wbr/>.amazon<wbr/>.com]</span>
Call
{{#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
Kesalahan
Modul mungkin menghasilkan kesalahan skrip — setiap kali panggilan Anda bukan kode Lua yang valid, Anda akan melihat kesalahan yang biasanya Anda alami. Misalnya,
{{#invoke:LuaCall|main|value=1.4512|divisor=1|math.fmod(value, divisor)}} →
Lua error in Modul:LuaCall at line 42: bad argument #2 to 'fn' (number expected, got no value).
karena nilai kedua tidak ada. Tidak ada upaya untuk menjebak mereka.
Konten ini disalin dari wikipedia, mohon digunakan dengan bijak.


