Difference between revisions of "User:Ericb/If"

From MHWiki
(tweak logic)
m (fix spacing, wording)
Line 1: Line 1:
<noinclude>A conditional template.  The first argument cannot start with "=".  If the first argument contains any text, then we end up calling the <nowiki>{{Use}}</nowiki> template with two arguments, one named "use" with our second argument as its value, and the other will have an unrelated name, so the overall expansion is our one use of the name "use" - our second argument.  But if the first argument is empty (or missing), then we end up using the <nowiki>{{Use}}</nowiki> template with use= specified twice, and the last use wins, giving the overall expansion of our third argument.
+
<noinclude>A conditional template.  The first argument cannot start with "=".  If the first argument contains any text, then this ends up calling the <nowiki>{{Use}}</nowiki> template with two arguments, one named "use" with the original second argument as its value, and the other will have an unrelated name, so the overall expansion is the one use of the name "use" - the second argument.  But if the first argument is empty (or missing), then this ends up using the <nowiki>{{Use}}</nowiki> template with use= specified twice, and the last use wins, giving the overall expansion of the third argument.
  
That is, I implemented {{#if:test|if text|if empty}}, with a slightly different syntax:<br/>
+
That is, this template is an alternative implementation of {{#if:test|if text|if empty}}, with a slightly different syntax:<br/>
<nowiki>{{if|test|if text|if empty}}</nowiki></noinclude>
+
<nowiki>{{if|test|if text|if empty}}</nowiki>
<includeonly>{{User:Ericb/Use|use={{{2|}}}|use{{{1|}}}={{{3|}}}}}</includeonly>
+
</noinclude><includeonly>{{User:Ericb/Use|use={{{2|}}}|use{{{1|}}}={{{3|}}}}}</includeonly>

Revision as of 12:08, 25 October 2011

A conditional template. The first argument cannot start with "=". If the first argument contains any text, then this ends up calling the {{Use}} template with two arguments, one named "use" with the original second argument as its value, and the other will have an unrelated name, so the overall expansion is the one use of the name "use" - the second argument. But if the first argument is empty (or missing), then this ends up using the {{Use}} template with use= specified twice, and the last use wins, giving the overall expansion of the third argument.

That is, this template is an alternative implementation of {{#if:test|if text|if empty}}, with a slightly different syntax:
{{if|test|if text|if empty}}