跳至內容

說明:默認參數

維基百科,自由的百科全書
注意:[MW 1.6+]

在一個模板中,如果a有賦值(包括賦空值),則{{{a|b}}}等於{{{a}}},否則等於b。這樣避免了因{{{a}}}沒有賦值而出現的問題。

這樣{{{a}}}和b可以是最終結果,也可以作為參數名,參數值,模板名,它們的一部分,等等。

局限

[編輯]

若有多個默認部分,僅首個有效,比如{{{a|b|c|d}}}等價於{{{a|b}}}。

默認值不能包含表格的「|」。

參數名的表達式可以包含「|」,如果表達式是一個模板或參數。

比如:使用Template:x3,包含{{{1}}}{{{1}}}{{{1}}};Template:t2,包含初{{1}}中{{2}}末

  • {{{a|b|c|d}}}得到b
  • {{{a|{{x3|b}}}}}得到bbb
  • {{{a|{{{b|c}}}}}}得到c
  • {{{a|[[b|c]]}}}得到c
  • {{{{{x3|a}}|b}}}得到b——參數「aaa」未賦值
  • {{{{{{a|b}}}|c}}}得到c——參數「b」未賦值
  • {{{a|<nowiki>b|c</nowiki>}}}得到b|c
    {{t2|{{{a|<nowiki>b|c</nowiki>}}}}}得到初-b|c-中{{2}}末

倒數技術

[編輯]

倒數技術可給出給定的倒數的數字參數值。倒數技術可不用使用模板實現。

倒數第一:{{{4|{{{3|{{{2|{{{1|*}}}}}}}}}}}}.

倒數第二(參數「ifu」被賦值為空)

{{{{{{if{{{4|u}}}|3}}}|
 {{{{{{if{{{3|u}}}|2}}}|
  {{{{{{if{{{2|u}}}|1}}}|
   {{{{{{if{{{1|u}}}|0}}}|*] //此行无用,仅出于完整性考虑。可用“*”替代。
  }}}
 }}}
}}}

即把「4」、「3」、「2」、「1」一次替換為D4、D3、D2、D1,且Dx=[if[x|u]|x-1]。這樣,就可以得到倒數第x+1的參數。 使用Template:lastbut0討論 - 鏈入頁面 - 編輯)和Template:lastbut1討論 - 鏈入頁面 - 編輯):

  • {{lastbut0}}得到no input;
  • {{lastbut0|a}}得到a;
  • {{lastbut0|a|b|c|d|e|f|g|h|i|j}}得到j;
  • {{lastbut1|ifu=}}得到no input;
  • {{lastbut1|ifu=|a}}得到no input;
  • {{lastbut1|ifu=|a|b}}得到a;
  • {{lastbut1|ifu=|a|b|c|d|e|f|g|h|i|j}}得到i;

服務器效率

[編輯]

默認參數對服務器來說比多層模板嵌套效率更高。