跳转到内容

模組:TemplateParameters/doc

维基百科,自由的百科全书

这是本页的一个历史版本,由A2569875留言 | 贡献2019年6月22日 (六) 19:32 用法编辑。这可能和当前版本存在着巨大的差异。

这是Module:TemplateParameters的文档页面

本模組可以將參數填入以普通模板參數定義的格式化字符串

用法

getFormatingStringByArgument

功能:直接將參數透過簡單文字替換填入形如{{{X}}}的位置內

  • {{#invoke:TemplateParameters | getFormatingStringByArgument | 在{{{學科}}}中,{{{名稱}}}是一種{{{種類}}} | 學科=數學 | 名稱=三角形 | 種類=多邊形}}
    顯示為「在數學中,三角形是一種多邊形」
用途

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}}}

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

用途