模組:TemplateParameters/doc
外观
这是Module:TemplateParameters的文档页面
本模組可以將參數填入以普通模板參數定義的格式化字符串
用法
getFormatingStringByArgument
功能:直接將參數透過簡單文字替換填入形如{{{X}}}
的位置內
{{#invoke:TemplateParameters | getFormatingStringByArgument | 在{{{學科}}}中,{{{名稱}}}是一種{{{種類}}} | 學科=數學 | 名稱=三角形 | 種類=多邊形}}
- 顯示為「在數學中,三角形是一種多邊形」
- 用途
- Module:Number中,客製化的性質輸出格式。
- Module:PeriodicTable中,選擇要在元素週期表輸出的元素性質。
FormatingArguments
功能:將未知數量的參數根據{{{X}}}
規則依序填入給定的字符串中。
- 模板中輸入
{{#invoke:TemplateParameters|FormatingArguments|格式=這是第{\{\{1}\}\}個參數;|count=1|usingConditionalExpressions=yes}}
- 叫用模板
{{<模板名稱>|一|二|三|四}}
- 顯示為:「這是第一個參數;這是第二個參數;這是第三個參數;這是第四個參數;」
- 解釋:
- 模板中「格式」參數原本為
這是第{{{1}}}個參數;
,透過加入跳脫字元防止先被解析後,透過FormatingArguments函數將傳入模組讀所有參數依序填入,不必透過大量的{{#if:{{{N}}}
就能達成不定數量的參數傳遞。
- 模板中「格式」參數原本為
- 模板中輸入
{{#invoke:TemplateParameters|FormatingArguments|格式=*:[[畢氏三元數]]:{\{#tag:math{{!}}\\left({\{\{1}\}\},{\{\{2}\}\} ,{\{\{3}\}\}\\right)}\}\n|count=3|usingConditionalExpressions=yes}}
- 叫用模板
{{<模板名稱>|3|4|5|5|12|13|7|24|25}}
- 顯示為:
- 解釋:
- 模板中「格式」參數原本為
*:[[畢氏三元數]]:{{#tag:math|\left({{{1}}},{{{2}}} ,{{{3}}}\right)}}\n
。- 指定了數量為3(
| count=3
)後,會將參數每三個一組代入{{{1}}}
、{{{2}}}
和{{{3}}}
。
- 指定了數量為3(
- 模板中「格式」參數原本為
containsNumber
功能:用於確定一個參數內是否有包含阿拉伯數字
{{#invoke:TemplateParameters|containsNumber|hijk42lm}}
→「1」{{#invoke:TemplateParameters|containsNumber|hijklm}}
→「」
用法
{{#if:{{#invoke:TemplateParameters|containsNumber|hijk42lm}}|有數字|沒數字}}
→「有數字」{{#if:{{#invoke:TemplateParameters|containsNumber|hijklm}}|有數字|沒數字}}
→「沒數字」
getNumberValue
功能:嘗試從一個參數內讀出一個阿拉伯數字,若讀不出來,則傳回0
{{#invoke:TemplateParameters|getNumberValue|hijk42lm}}
→「42」{{#invoke:TemplateParameters|getNumberValue|hijklm}}
→「0」
用法
{{#expr: hijk42lm }}
→「表达式错误:无法识别词语“hijk”。」{{#expr:{{#invoke:TemplateParameters|getNumberValue|hijk42lm}} }}
→「42」{{#expr:hijklm }}
→「表达式错误:无法识别词语“hijklm”。」{{#expr:{{#invoke:TemplateParameters|getNumberValue|hijklm}} }}
→「0」
arg_to_spstr與pass_spstr
功能:arg_to_spstr會將參數轉變成一個可供pass_spstr使用的字串;pass_spstr可以將arg_to_spstr給出的參數套入模板語法
- 設計動機:批次大量傳送參數的方案
{{#invoke:TemplateParameters|pass_spstr | code = {{{1}}}{{2}}{{{3}}} | args = {{#invoke:TemplateParameters|arg_to_spstr|A|B|C}} }}
- 顯示為「A-B-C」
argTrim
功能:適用於本系列模板的trim方案,{{trim}}會導致使用「{{!}}」的後方內容被捨棄
- 一般Trim
- 模板內容
{{#invoke:TemplateParameters|FormatingArguments|格式={\{Trim{{!}}{{{1}}} }\}|count=1|usingConditionalExpressions=yes}}
- 叫用模板
{{<模板名稱>|一{{!}}遺失}}
- 顯示為:「一」
- 模板內容
- 使用argTrim
- 模板內容
{{#invoke:TemplateParameters|FormatingArguments|格式={\{#invoke:TemplateParameters{{!}}argTrim{{!}}{{{1}}} }\}|count=1|usingConditionalExpressions=yes}}
- 叫用模板
{{<模板名稱>|一{{!}}遺失}}
- 顯示為:「遺失的內容」
- 模板內容
listArguments
功能:列出模板接收到的參數
用途:偵錯用
- 模板內容
{{#invoke:TemplateParameters|listArguments }}
- 叫用模板
{{#invoke:TemplateParameters|listArguments|A|B|C|99=D|E=F}}
- 顯示為:
- {{#invoke:}}呼叫參數:
- 1 : A
- 2 : B
- 3 : C
- 99 : D
- E : F
用途
- Module:Number中,客製化的性質輸出格式。
- Module:PeriodicTable中,選擇要在元素週期表輸出的元素性質。