Help:Parser functions in templates/pt-br

Ao aplicar as ParserFunctions nos parâmetros das predefinições, a barra vertical ("|") pode ser utilizada para fornecer a string vazia como valor padrão, a fim de indicar a forma de lidar com as coisas, se um parâmetro é ou não passado. Used in an #if parser function, the unexpanded text from the undefined parameter will evaluate as true, which may be an unexpected result.




 * Exemplo A:  


 * Resultado: 




 * Exemplo B:  


 * Resultado: 

O segundo uso ( , exemplo B) com padrão vazio presente é muitas vezes a forma desejada para lidar com situações em que existe um parâmetro, mas é composto apenas de espaços vazios.

Testing and passing undefined parameters
To distinguish a possibly empty parameter from an unspecified, one, compare it to itself using  and different defaults. What the defaults are does not matter as long as they are different, so they are typically chosen to be short. The following all work equivalently:



Em casos raros, uma predefinição se comporta de maneira diferente quando um parâmetro não é especificado em relação a quando é especificado, mas vazio. Quando esta predefinição é usada por uma predefinição de envoltório (que usa o mesmo conjunto de parâmetros com nome), uma forma de assegurar que parâmetros indefinidos permaneçam indefinidos é a seguinte (a técnica também funciona com parâmetros numerados):





Note que o wrapped_template recebe um normal_parameter</tt> especificado, mas vazio em dois casos: quando normal_parameter</tt> é especificado e vazio, e quando normal_parameter</tt> não é especificado (porque o valor padrão vazio é então especificado pela predefinição envoltório).

Por outro lado, o wrapped_template</tt> recebe um sensitive_parameter</tt> especificado apenas quando é de fato determinado, porque o #if</tt> altera o nome do parâmetro do wrapped_template</tt> para «sensitive_parameterNULL</tt>» quando o sensitive_parameter</tt> é indefinido. The suffixed parameter name must be meaningless to the  for this to work properly.

Ver também

 * Extension:Loops#forargs
 * Extension:Loops#forargs
 * Extension:Loops#forargs