模組:ProcessArgs/doc
出自星露谷物語擴展百科
更多語言
更多操作
此頁面為 模块:ProcessArgs 的說明文件
該模塊將參數添加到一個表中以便模塊使用。
用法
該模塊通常只能在其他模塊中調用,否則會出錯。
norm函數
require('Module:ProcessArgs').norm(origArgs)
origArgs:可選(表),用於指定args表,默認值為父框架[注 1]的args表。值為其他類型(包括nil)時取默認值。
該函數會將origArgs表中所有值的多餘空字符刪去(若表中某個值全部由空字符組成,則將其設置為nil),並返回修改後的表。
merge函數
require('Module:ProcessArgs').merge(origArgs,parentArgs,norm)
origArgs:可選(表),用於指定args表,默認值為當前框架[注 2]的args表。值為其他類型(包括nil)時先用該值覆蓋norm的值,然後取默認值。parentArgs:可選(表),用於指定args表,當origArgs不是表時默認值為父框架[注 1]的args表。值為其他類型(包括nil)時會出錯。norm:可選(布爾值),用於指定是否將表中全部由空字符組成的值設置為nil。當origArgs不是表時取origArgs的值。
該函數會將origArgs和parentArgs這兩個表合併(若兩個表有相同的鍵,則優先取parentArgs中的值),同時將表中所有值的多餘空字符刪去,並返回合併後的表。
示例
假設模塊:Example包含以下代碼:
local p = {}
function p.args(f)
local arg1 = require('Module:ProcessArgs').norm()
local arg2 = require('Module:ProcessArgs').norm(f.args)
local arg3 = require('Module:ProcessArgs').merge(true)
return mw.allToString(arg1[1],arg2[2],arg2['args'],arg3.name)
end
return p
Template:Example包含以下代碼:
{{#invoke:Example|args|foo| bar |ba z|name= na me }}
頁面Example包含以下代碼:
{{Example| a rg1 |2=arg2|args=abc }}
那麼頁面Example將會顯示:
a rg1 bar nil na me