Help:默认参数
- 注意:[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;
服务器效率[编辑]
默认参数对服务器来说比多层模板嵌套效率更高。
|
Text is available under the CC BY-SA 4.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.