Template:Coalesce
From Pittsburgh Streets
The {{coalesce}} template takes up to 10 arguments and returns the first nonempty one.
This can be useful to support synonyms in a template. For example, suppose a template named {{foo}}
takes a parameter named color
, with colour
as a synonym. It is tempting to write {{{color|{{{colour|}}}}}}
, but this doesn't work right if both color
is specified but empty, like this:
{{foo |color= |colour=grey }}
In such a case, {{{color|...}}}
will produce the empty string, without evaluating ...
, because the criterion for using the default value ...
is that color
is not specified, not that color
is empty (see [1]). The right way to handle this is to use {{coalesce}}:
{{coalesce|{{{color|}}}|{{{colour|}}}}}
Usage examples
{{coalesce}}
→{{coalesce|a}}
→ a{{coalesce|a|b|c}}
→ a{{coalesce||b|c}}
→ b{{coalesce||||||||||j}}
→ j{{coalesce||||||||||}}
→{{coalesce|1=a|2=b}}
→ a{{coalesce|1=|2=b}}
→ b{{coalesce|1=|2=|3=|4=|5=|6=|7=|8=|9=|10=j}}
→ j{{coalesce|1=|2=|3=|4=|5=|6=|7=|8=|9=|10=}}
→