切換菜單
331
1.7K
131
11.8K
星露谷物语扩展百科
切換偏好設定選單
切換個人選單
尚未登入
若您做出任何編輯,會公開您的 IP 位址。

模組:ProcessArgs/doc

出自星露谷物語擴展百科
於 2025年8月21日 (四) 20:39 由 Sizau對話 | 貢獻 所作的修訂 (文本替换 - 替换“{{documentation header}} ”为“”)

此頁面為 模块: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的值。

該函數會將origArgsparentArgs這兩個表合併(若兩個表有相同的鍵,則優先取parentArgs中的值),同時將表中所有值的多餘空字符刪去,並返回合併後的表。

  1. 1.0 1.1 通常為{{#invoke:}}所在頁面的框架。
  2. 通常為{{#invoke:}}創建的框架。

示例

假設模塊: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