Help:Parser functions in templates/pt-br

Ao aplicar funções do analisador sintático aos parâmetros das predefinições, pode usar uma barra vertical ("|") para fornecer um valor por omissão, que será adotado como valor se o parâmetro não for passado (estiver indefinido). Usado numa função #if, o texto não expandido do parâmetro indefinido é avaliado como verdadeiro, o que pode ser um resultado inesperado.




 * 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