Help:Parser functions in templates/zh

当在模板参数中使用解析器函数时，可以使用一个管道符号（|）来提供一个默认值，会在没有参数填写时被使用. 在 #if 解析器函数中使用时，来自未定义参数的未扩展文本将解析为真，可能造成意想不到的结果.




 * 例 A:


 * 结果:




 * 列 B:


 * 结果:

提供空默认值的第二种用法（ ，例 B）通常是参数存在，但仅由空值组成的情况下的理想处理方式.



测试和传输未定义参数
要区分可能为空的参数和未指定的参数，请使用  和“不同的默认值”将其与自身进行比较. 默认值是什么并不重要，只要它们不同即可，因此通常选择较短的值. 以下所有例子都奏效：



在极少数情况下，模板在未指定参数时与指定参数但为空时的行为不同. 当包裹模板（使用同一组命名参数）使用此模板时，确保未定义参数保持未定义的一种方法如下（该技巧也适用于编号参数）：





在所有情况下都会收到定义的“normal_parameter”. 当normal_parameter 已定义但为空且未定义时， 会收到一个空的normal_parameter.

相比之下， 在确实定义时“仅”接收定义的“sensitive_parameter”； 当“sensitive_parameter”未定义时，  将参数名称更改为“sensitive_parameterNULL”. 后缀参数名称必须对  无意义才能正常工作.



參見

 * Extension:迴圈#forargs
 * Extension:迴圈#forargs
 * Extension:迴圈#forargs