Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
這是文件頁面,它應該被放置到Module:ProcessArgs。查看Template:Documentation以取得更多資訊。

該模組將參數加入到一個表中以便模組使用。

用法[]

該模組通常只能在其他模組中調用,否則會出錯。

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


語言


Advertisement