<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://130.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ATemplateParameters%2Fdoc</id>
	<title>Module:TemplateParameters/doc - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://130.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ATemplateParameters%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://130.wiki/index.php?title=Module:TemplateParameters/doc&amp;action=history"/>
	<updated>2026-10-16T04:25:54Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://130.wiki/index.php?title=Module:TemplateParameters/doc&amp;diff=2936&amp;oldid=prev</id>
		<title>IdleTap-bot：​导入自求闻百科</title>
		<link rel="alternate" type="text/html" href="https://130.wiki/index.php?title=Module:TemplateParameters/doc&amp;diff=2936&amp;oldid=prev"/>
		<updated>2026-08-03T08:07:26Z</updated>

		<summary type="html">&lt;p&gt;导入自求闻百科&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;本模組可以將參數填入以普通模板參數定義的[[格式化字符串]]&lt;br /&gt;
== 設計緣由 ==&lt;br /&gt;
自定義的模板參數讀取之構想早在2018年11月就已提出。當時數學類條目面臨大量[[QW:114.27]]的似是而非的破壞，不易查證真偽，因此建立了[[Module:Number]]來自動輸出數學性質，避免遭[[QW:114.27]]竄改為錯誤資訊而不易查證（例如多1少1的破壞難以察覺和驗證），但有用戶認為輸出固定字串無法被修改或添加註解、參考文獻不妥，因此出現了[[格式化字符串]]的需求，而部分用戶認為，應儘量是要設計一般維基人都能編輯的語法，因此最後[[模块讨论:Number#請問&amp;amp;#123;&amp;amp;#123;#invoke:Number&amp;amp;#124;numberDivisorInformation&amp;amp;#124;1=28&amp;amp;#124;use_math=yes&amp;amp;#125;&amp;amp;#125;是什麼東西？模板嗎？|決議選擇]]wikitext模板中的模板參數語法，但當時此功能獨自分散在各個需要[[格式化字符串]]功能的模組裡，例如[[Module:Number]]、[[Module:PeriodicTable]]和[[Module:Delcat]]等地方。&lt;br /&gt;
&lt;br /&gt;
最初的版本僅包含簡單文字替換，-{只}-能處理已知數量的參數，而在2019年6月，有用戶問到能否不寫新的模組、也不使用大量&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{#if:}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;實現，因此認為可以把自動讀取參數填入[[格式化字符串]]的功能獨立出來（即建立本模組），順便提供些特殊參數解析功能，如參數批次trim和數字解析功能（根據[[QW:TG1]]請求用於{{tl|Infobox 日本的町村}}）。&lt;br /&gt;
&lt;br /&gt;
== 使用說明 ==&lt;br /&gt;
本模組主要是提供wikitext模板中的模板參數一個API，而非設計給其他Lua函數使用，因此專門給lua呼叫的函數較少。&lt;br /&gt;
&lt;br /&gt;
本模組包括的函數如下：&lt;br /&gt;
* [[#getFormatingStringByArgument|getFormatingStringByArgument]] ：固定參數的[[格式化字符串]]方法&lt;br /&gt;
* [[#FormatingArguments|FormatingArguments]] ：不定參數的[[格式化字符串]]方法&lt;br /&gt;
* [[#containsNumber|containsNumber]] ：判斷參數是否包含數字&lt;br /&gt;
* [[#getNumberValue|getNumberValue]] ：析出參數包含的數字&lt;br /&gt;
* [[#arg_to_spstr與pass_spstr|arg_to_spstr與pass_spstr]] ：提供不定參數迭代（跨層傳遞）的一種方式&lt;br /&gt;
* [[#argTrim|argTrim]] ：參數批次Trim 或 已展開的參數避免&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;後方內容遺失的方法&lt;br /&gt;
* [[#listArguments|listArguments]] ：列出所有接收到的參數，提供模板可見的除錯方式。&lt;br /&gt;
* [[#call|call]] ：將模板參數轉為Lua參數的方法，提供呼叫一些不支援以模板參數呼叫之Module的功能。&lt;br /&gt;
* [[#templateArgWarp|templateArgWarp]] ：將模組調用轉換為另一個模板且輸入參數為從外部模板(父模板)讀取之參數的未解析字串，用於替換引用。&lt;br /&gt;
* [[#makeTemplateParameter|makeTemplateParameter]] ：產生模板參數的未解析字串，如&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{arg}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 用法 ==&lt;br /&gt;
=== getFormatingStringByArgument ===&lt;br /&gt;
功能：直接將參數透過簡單文字替換填入形如&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{X}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;的位置內&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;#invoke:&amp;lt;span style=&amp;quot;font-size: .5em;&amp;quot;&amp;gt;TemplateParameters&amp;lt;/span&amp;gt; | &amp;lt;span style=&amp;quot;font-size: .6em;&amp;quot;&amp;gt;getFormatingStringByArgument&amp;lt;/span&amp;gt; | 在{{{學科}}}中，{{{名稱}}}是一種{{{種類}}} | 學科=數學 | 名稱=三角形 | 種類=多邊形&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*:顯示為「{{#invoke:TemplateParameters|getFormatingStringByArgument|在{{{學科}}}中，{{{名稱}}}是一種{{{種類}}}|學科=數學|名稱=三角形|種類=多邊形}}」&lt;br /&gt;
;用途&lt;br /&gt;
*[[Module:Number]]中，[[模块:Number/doc#參數|客製化的性質輸出格式]]。&lt;br /&gt;
*[[Module:PeriodicTable]]中，選擇要在[[元素週期表]]輸出的元素性質。&lt;br /&gt;
&lt;br /&gt;
=== FormatingArguments ===&lt;br /&gt;
功能：將未知數量的參數根據&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{X}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;規則依序填入給定的字符串中。&lt;br /&gt;
*模板中輸入&lt;br /&gt;
&amp;lt;pre&amp;gt;{{#invoke:TemplateParameters|FormatingArguments|格式=這是第{\{\{1}\}\}個參數；|count=1|usingConditionalExpressions=yes}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
*叫用模板&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;{{gray|&amp;lt;small&amp;gt;&amp;lt;模板名稱&amp;gt;&amp;lt;/small&amp;gt;}}&amp;lt;nowiki&amp;gt;|一|二|三|四}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*顯示為：「{{虚拟模板| code={\{#invoke:TemplateParameters{{!}}FormatingArguments{{!}}格式=這是第{\\{\\{1}\\}\\}個參數；{{!}}count=1{{!}}usingConditionalExpressions=yes}\}|一|二|三|四}}」&lt;br /&gt;
*解釋：&lt;br /&gt;
**模板中「格式」參數原本為&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;這是第{{{1}}}個參數；&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;，透過加入[[跳脫字元]]防止先被解析後，透過FormatingArguments函數將傳入模組讀&amp;lt;u&amp;gt;所有參數&amp;lt;/u&amp;gt;依序填入，不必透過大量的&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#if:{{{N}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;就能達成不定數量的參數傳遞。&lt;br /&gt;
----&lt;br /&gt;
*模板中輸入&lt;br /&gt;
&amp;lt;pre&amp;gt;{{#invoke:TemplateParameters|FormatingArguments|格式=*:[[畢氏三元數]]：{\{#tag:math{{!}}\\left({\{\{1}\}\},{\{\{2}\}\} ,{\{\{3}\}\}\\right)}\}\n|count=3|usingConditionalExpressions=yes}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
*叫用模板&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;{{gray|&amp;lt;small&amp;gt;&amp;lt;模板名稱&amp;gt;&amp;lt;/small&amp;gt;}}&amp;lt;nowiki&amp;gt;|3|4|5|5|12|13|7|24|25}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*顯示為：{{虚拟模板| code={\{#invoke:TemplateParameters{{!}}FormatingArguments{{!}}格式=*:[[畢氏三元數]]：{\\{#tag:math{\{!}\}\\\\left({\\{\\{1}\\}\\},{\\{\\{2}\\}\\} ,{\\{\\{3}\\}\\}\\\\right)}\\}\\n{{!}}count=3{{!}}usingConditionalExpressions=yes}\}|3|4|5|5|12|13|7|24|25}}&lt;br /&gt;
*解釋：&lt;br /&gt;
**模板中「格式」參數原本為&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;*:[[畢氏三元數]]：{{#tag:math|\left({{{1}}},{{{2}}} ,{{{3}}}\right)}}\n&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;。&lt;br /&gt;
**:指定了數量為3（&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; | count=3&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;）後，會將參數每三個一組代入&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{2}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;和&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{3}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;。&lt;br /&gt;
----&lt;br /&gt;
;格式字串中支援的參數&lt;br /&gt;
下面為FormatingArguments支援的參數，若有同名參數可能會影響運作&lt;br /&gt;
*讀取不定參數：&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{2}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{3}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;...即以組為單位讀取不定參數。&lt;br /&gt;
**:例如&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{|1|2|3|4|5|6|7|8|9}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;如果設定為每組3個參數，&lt;br /&gt;
**::則第一組的&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{2}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{3}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;分別會代入1、2和3；&lt;br /&gt;
**::第二組的&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{2}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{3}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;分別會代入4、5和6&lt;br /&gt;
**:以此類推。&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{&amp;lt;/nowiki&amp;gt;{{新增條文|1=count+1}}&amp;lt;nowiki&amp;gt;}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{&amp;lt;/nowiki&amp;gt;{{新增條文|1=count+2}}&amp;lt;nowiki&amp;gt;}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{&amp;lt;/nowiki&amp;gt;{{新增條文|1=count+3}}&amp;lt;nowiki&amp;gt;}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;...讀取下一組的不定參數。&lt;br /&gt;
**:例如&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{|1|2|3|4|5|6|7|8|9}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;如果設定為每組3個參數，此時&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{&amp;lt;/nowiki&amp;gt;{{新增條文|1=count+1}}&amp;lt;nowiki&amp;gt;}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;即為&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{4}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
**::則第一組的&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{4}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{5}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{6}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;分別會代入4、5和6；&lt;br /&gt;
**::則第二組的&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{4}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{5}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{6}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;分別會代入7、8和9；&lt;br /&gt;
**::則第三組的&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{4}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{5}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{6}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;因為沒有第四組，而會變成空值、預設參數或保持原樣（即&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{4}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;）；&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{0}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{-1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{-2}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;...讀取前一組的不定參數。&lt;br /&gt;
**:例如&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{|1|2|3|4|5|6|7|8|9}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;如果設定為每組3個參數&lt;br /&gt;
**::則第一組的&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{0}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{-1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{-2}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;因為第一組沒有錢一組，而會變成空值、預設參數或保持原樣（即&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{0}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;）；&lt;br /&gt;
**::則第二組的&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{0}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{-1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{-2}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;分別會代入3、2和1；&lt;br /&gt;
**::則第三組的&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{0}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{-1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{-2}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;分別會代入6、5和4；&lt;br /&gt;
**:以此類推。&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{random}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;：位於本組的隨機參數。&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{allRandom}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;：所有參數的隨機參數。&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{last}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;：本組的最後一個參數。&lt;br /&gt;
*判斷用參數&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{isFirst}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;：如果這是第一組參數則為&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;，否則為空值&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;。&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{isLast}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;：如果這是最後一組參數則為&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;，否則為空值&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;。&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{count}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;：參數組的數量。&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{argGroupID}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;：返回目前作用中的參數是第幾組。&lt;br /&gt;
==== Subst方法 ====&lt;br /&gt;
此模板可以使用Subst，不過若用&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;now&amp;lt;/nowiki&amp;gt;iki&amp;gt;&amp;lt;/now&amp;lt;nowiki&amp;gt;iki&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;搭配&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; | delnowiki = &amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;參數的話會導致替換失敗。&lt;br /&gt;
*替代方案可以使用[[跳脫字元]]（如&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;\{&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;\}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;等）以及[[H:魔術字]]（如{{tlx|!}}、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ {{{|safesubst:}}}!}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;、{{tlx|=}}、&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ {{{|safesubst:}}}=}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;等）&lt;br /&gt;
*若覺得編輯困難可以使用 子頁面搭配&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{msgnw:模板名}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;以及&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; | delmsgnw = &amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;參數 來完成&lt;br /&gt;
**詳細使用方式可參考[[User:A2569875/SubstTest]]搭配[[User:A2569875/SubstTest/Cell]]的範例。&lt;br /&gt;
**使用&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{msgnw:模板名}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;需要&amp;#039;&amp;#039;&amp;#039;注意&amp;#039;&amp;#039;&amp;#039;的是：由於使用msgnw，因此&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;等標記無效，因此不應該在該子模板中直接加入註解或&amp;lt;nowiki&amp;gt;{{Doc}}&amp;lt;/nowiki&amp;gt;的內容，需要使用{{tlx|ifsubst}}才能運作，例如&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ {{{|safesubst:}}}ifsubst||&amp;lt;noinclude&amp;gt;{{documentation}}&amp;lt;/noinclude&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;。&lt;br /&gt;
**:或者：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{ {{{|safesubst:}}}ifsubst||&amp;lt;noinclude&amp;gt;&lt;br /&gt;
不被包含引用的部分&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== containsNumber ===&lt;br /&gt;
功能：用於確定一個參數內是否有包含阿拉伯數字&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|containsNumber|&amp;lt;/nowiki&amp;gt;{{新增條文|1=hijk42lm}}&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;→「{{#invoke:TemplateParameters|containsNumber|hijk42}}」&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|containsNumber|&amp;lt;/nowiki&amp;gt;{{新增條文|1=hijklm}}&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;→「{{#invoke:TemplateParameters|containsNumber|hijklm}}」&lt;br /&gt;
用法&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#if:{{#invoke:TemplateParameters|containsNumber|&amp;lt;/nowiki&amp;gt;{{新增條文|1=hijk42lm}}&amp;lt;nowiki&amp;gt;}}|有數字|沒數字}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;→「{{#if:{{#invoke:TemplateParameters|containsNumber|hijk42lm}}|有數字|沒數字}}」&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#if:{{#invoke:TemplateParameters|containsNumber|&amp;lt;/nowiki&amp;gt;{{新增條文|1=hijklm}}&amp;lt;nowiki&amp;gt;}}|有數字|沒數字}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;→「{{#if:{{#invoke:TemplateParameters|containsNumber|hijklm}}|有數字|沒數字}}」&lt;br /&gt;
=== getNumberValue ===&lt;br /&gt;
功能：嘗試從一個參數內讀出一個阿拉伯數字，若讀不出來，則傳回0&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|getNumberValue|&amp;lt;/nowiki&amp;gt;{{新增條文|1=hijk42lm}}&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;→「{{#invoke:TemplateParameters|getNumberValue|hijk42}}」&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|getNumberValue|&amp;lt;/nowiki&amp;gt;{{新增條文|1=hijklm}}&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;→「{{#invoke:TemplateParameters|getNumberValue|hijklm}}」&lt;br /&gt;
用法&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#expr: &amp;lt;/nowiki&amp;gt;{{新增條文|1=hijk42lm}}&amp;lt;nowiki&amp;gt; }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;→「{{#expr:hijk42lm }}」&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#expr:{{#invoke:TemplateParameters|getNumberValue|&amp;lt;/nowiki&amp;gt;{{新增條文|1=hijk42lm}}&amp;lt;nowiki&amp;gt;}} }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;→「{{#expr:{{#invoke:TemplateParameters|getNumberValue|hijk42lm}} }}」&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#expr:&amp;lt;/nowiki&amp;gt;{{新增條文|1=hijklm}}&amp;lt;nowiki&amp;gt; }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;→「{{#expr:hijklm }}」&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#expr:{{#invoke:TemplateParameters|getNumberValue|&amp;lt;/nowiki&amp;gt;{{新增條文|1=hijklm}}&amp;lt;nowiki&amp;gt;}} }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;→「{{#expr:{{#invoke:TemplateParameters|getNumberValue|hijklm}} }}」&lt;br /&gt;
=== arg_to_spstr與pass_spstr ===&lt;br /&gt;
功能：arg_to_spstr會將參數轉變成一個可供pass_spstr使用的字串；pass_spstr可以將arg_to_spstr給出的參數套入模板語法&lt;br /&gt;
:設計動機：批次大量傳送參數的方案&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{#invoke:TemplateParameters|pass_spstr&lt;br /&gt;
 | code = {{{1}}}-{{{2}}}-{{{3}}}&lt;br /&gt;
 | args = {{#invoke:TemplateParameters|arg_to_spstr|A|B|C}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:顯示為「{{#invoke:TemplateParameters|pass_spstr&lt;br /&gt;
 | code = {{{1}}}-{{{2}}}-{{{3}}}&lt;br /&gt;
 | args = {{#invoke:TemplateParameters|arg_to_spstr|A|B|C}}&lt;br /&gt;
}}」&lt;br /&gt;
=== argTrim ===&lt;br /&gt;
功能：適用於本系列模板的trim方案（delnowiki可正常使用{{tl|trim}}），{{tl|trim}}會導致使用「{{tl|!}}」的後方內容被捨棄&lt;br /&gt;
*一般Trim&lt;br /&gt;
**模板內容&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|FormatingArguments|格式=[\[:{\{Trim{{!}} {\{\{1}\}\} }\}]\]|count=1|usingConditionalExpressions=yes}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
**叫用模板&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;{{gray|&amp;lt;small&amp;gt;&amp;lt;模板名稱&amp;gt;&amp;lt;/small&amp;gt;}}&amp;lt;nowiki&amp;gt;|一{{!}}遺失的內容}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
**顯示為：「&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{虚拟模板&lt;br /&gt;
|code=&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|FormatingArguments|格式=[\[:{\{Trim{{!}} {\{\{1}\}\} }\}]\]|count=1|usingConditionalExpressions=yes}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|delnowiki=1|一{{!}}遺失的內容&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;」&lt;br /&gt;
*一般Trim + delnowiki&lt;br /&gt;
**模板內容&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|FormatingArguments|格式=&amp;amp;#60;nowiki&amp;amp;#62;[[:{{Trim| {{{1}}} }}]]&amp;amp;#60;/nowiki&amp;amp;#62;|delnowiki=1|count=1|usingConditionalExpressions=yes}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
**叫用模板&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;{{gray|&amp;lt;small&amp;gt;&amp;lt;模板名稱&amp;gt;&amp;lt;/small&amp;gt;}}&amp;lt;nowiki&amp;gt;|一{{!}}遺失的內容}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
**顯示為：「&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{虚拟模板&lt;br /&gt;
|code=&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|FormatingArguments|格式=[[:{{Trim|{{{1}}} }}]]|delnowiki=1|count=1|usingConditionalExpressions=yes}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|delnowiki=1|一{{!}}遺失的內容&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;」&lt;br /&gt;
*使用argTrim &lt;br /&gt;
**模板內容&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|FormatingArguments|格式=[\[:{{((}}#invoke:TemplateParameters{{!}}argTrim{{!}}{{{1}}} {{))}}]\]|count=1|usingConditionalExpressions=yes}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
**叫用模板&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;{{gray|&amp;lt;small&amp;gt;&amp;lt;模板名稱&amp;gt;&amp;lt;/small&amp;gt;}}&amp;lt;nowiki&amp;gt;|一{{!}}遺失的內容}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
**顯示為：「&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{虚拟模板&lt;br /&gt;
|code=&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|FormatingArguments|格式=[\[:{{((}}#invoke:TemplateParameters{{!}}argTrim{{!}}{{{1}}} {{))}}]\]|delnowiki=1|count=1|usingConditionalExpressions=yes}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|delnowiki=1|一{{!}}遺失的內容&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;」&lt;br /&gt;
*使用argTrim + delnowiki&lt;br /&gt;
**模板內容&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|FormatingArguments|格式=&amp;amp;#60;nowiki&amp;amp;#62;[[:{{#invoke:TemplateParameters|argTrim|{{{1}}} }}]]&amp;amp;#60;/nowiki&amp;amp;#62;[\[:{\{#invoke:TemplateParameters{{!}}argTrim{{!}}{{{1}}} }\}]\]|count=1|usingConditionalExpressions=yes}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
**叫用模板&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;{{gray|&amp;lt;small&amp;gt;&amp;lt;模板名稱&amp;gt;&amp;lt;/small&amp;gt;}}&amp;lt;nowiki&amp;gt;|一{{!}}遺失的內容}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
**顯示為：「&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{虚拟模板&lt;br /&gt;
|code=&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|FormatingArguments|格式=[[:{{#invoke:TemplateParameters|argTrim|{{{1}}} }}]]|delnowiki=1|count=1|usingConditionalExpressions=yes}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|delnowiki=1|一{{!}}遺失的內容&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;」&lt;br /&gt;
&lt;br /&gt;
=== listArguments ===&lt;br /&gt;
功能：列出模板接收到的參數&lt;br /&gt;
&lt;br /&gt;
用途：偵錯用&lt;br /&gt;
*輸入&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|listArguments|A|B|C|99=D|E=F}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*顯示為：&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eee&amp;quot;&amp;gt;&lt;br /&gt;
{{#invoke:TemplateParameters|listArguments|A|B|C|99=D|E=F}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== call ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;功能&amp;#039;&amp;#039;&amp;#039;：將模板參數轉為Lua參數的方法，提供呼叫一些不支援以模板參數呼叫之Module。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;用途&amp;#039;&amp;#039;&amp;#039;：能讓一些未提供模板參數呼叫之Module在不建立新Module的情況下由模板調用。&lt;br /&gt;
:例如[[Module:yesno]]目前暫未支援由模板直接調用。&lt;br /&gt;
*輸入&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|call|Module:yesno|T}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*顯示為：「{{#invoke:TemplateParameters|call|Module:yesno|T}}」（參見下方[[#call#回傳值|#回傳值]]子章節）&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;參數&amp;#039;&amp;#039;&amp;#039;：&lt;br /&gt;
*第一參數為模板與模組名稱，以點「&amp;lt;code&amp;gt; &amp;lt;nowiki&amp;gt; . &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;」運算子來從模組中獲得函數名稱，如「&amp;lt;code&amp;gt;Module:Foo.bar&amp;lt;/code&amp;gt;」指的是[[Module:Foo]]中的{{code|lang=lua|function bar( )}}，需要注意的是，為了提升效能，因此判斷是用簡單的字串分割達成，因此若模組名稱含有點「&amp;lt;code&amp;gt; &amp;lt;nowiki&amp;gt; . &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;」符號，則無法使用此功能。&lt;br /&gt;
*其他參數則會依序傳入指定的模組函數中&lt;br /&gt;
&lt;br /&gt;
{{anchor|call#回傳值}}&amp;#039;&amp;#039;&amp;#039;回傳值&amp;#039;&amp;#039;&amp;#039;：&lt;br /&gt;
*若模組回傳值為[[數字]]或[[字串]]，則會直接顯示結果；&lt;br /&gt;
*若模組回傳值為[[布林值]]則：{{code|lang=lua|true}}以「&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;」表示，否則輸出空字串。這是為了讓結果能給{{tlxm|#if|&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;}}使用&lt;br /&gt;
*若模組沒有回傳值則輸出空字串；&lt;br /&gt;
*若模組回傳值為其他物件，則會嘗試將物件轉為[[JSON]]後輸出。此步驟有可能因為物件中包含了無法JSON化的物件導致失敗。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;選項&amp;#039;&amp;#039;&amp;#039;：&lt;br /&gt;
*&amp;lt;code&amp;gt; &amp;lt;nowiki&amp;gt; | isJSON = &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;：將所有輸入參數視為[[JSON]]&lt;br /&gt;
*:部分模組中函數可能有需要傳入特殊格式物件的需求，此時可以透過設定此選項來以[[JSON]]來輸入支援的物件。&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;注意事項&amp;#039;&amp;#039;&amp;#039;：若指定的模組中函數本身已支援模板調用則可能出錯。因為支援模板調用的模組通常是用第一參數接收所有模板參數，而此函數會先將模板參數全部展開才傳入，可能會有參數無效或者第一參數無法使用（如支援模板調用的第一參數預期是一個包含所有模板參數資訊的lua table，但本函數將參數展開可能導致第一參數變為字符串或數字）等問題。&lt;br /&gt;
&lt;br /&gt;
=== templateArgWarp ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;功能&amp;#039;&amp;#039;&amp;#039;：替換引用時，將自身替換為另一個模板與參數&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;用途&amp;#039;&amp;#039;&amp;#039;：如防止替換引用（替換引用又換回自身）或替換引用時轉成其他等價模板等。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;參數&amp;#039;&amp;#039;&amp;#039;：第一參數為要替換成的模板名稱。只有第一參數有效，其餘參數皆為從父模板讀取。&lt;br /&gt;
=== makeTemplateParameter ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;功能&amp;#039;&amp;#039;&amp;#039;：產生模板參數的未解析字串，如&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{arg}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;用途&amp;#039;&amp;#039;&amp;#039;：搭配{{tl|虚拟模板}}作為替換引用的替代方案，參見{{tl|參數}}。&lt;br /&gt;
*輸入&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:TemplateParameters|makeTemplateParameter|arg|default}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*顯示為：「{{#invoke:TemplateParameters|makeTemplateParameter|arg|default}}」&lt;br /&gt;
&lt;br /&gt;
== 用途 ==&lt;br /&gt;
*[[Module:Number]]中，[[模块:Number/doc#參數|客製化的性質輸出格式]]。&lt;br /&gt;
*[[Module:PeriodicTable]]中，選擇要在[[元素週期表]]輸出的元素性質。&lt;br /&gt;
&lt;br /&gt;
== 相關模板 ==&lt;br /&gt;
*{{模板|虚拟模板}}&lt;br /&gt;
*{{模板|解析數字}}&lt;br /&gt;
*{{模板|數字性質}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- 本行下加入模組的分類 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>IdleTap-bot</name></author>
	</entry>
</feed>