Difference between revisions of "Template:If either/doc"

From blackwiki
Jump to navigation Jump to search
imported>Sardanaphalus
(replaced/corrected <tt>, corrected example, some formatting)
imported>Vanisaac
m (→‎See also: clean up per WP:CAT#T and WP:AWBREQ add template:Sandbox other)
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Documentation subpage}}
+
{{Documentation subpage}} __NOTOC__ __NOEDITSECTION__
 
<!----PLEASE ADD CATEGORIES WHERE INDICATED AT THE BOTTOM OF THIS PAGE---->
 
<!----PLEASE ADD CATEGORIES WHERE INDICATED AT THE BOTTOM OF THIS PAGE---->
__NOTOC__ __NOEDITSECTION__
+
: <code class="nowrap">{{((}}if either ({{!}}'''a''') ({{!}}'''b''') ({{!}}''first result'') ({{!}}''second result''){{))}}</code>
This [[Help:Templates/Helper templates|helper template]] is designed to be used in other templates. It can help editors create template code that or self documenting. The major advantage of using this template over using the construct {{nowrap|<code><nowiki>{{#if:{{{1|}}}{{{2|}}} |...}}</nowiki></code>}} is that if the first parameter is not empty then the second parameter is not evaluated.
+
: &nbsp;"If either ('''a''' or) ('''b''') is true, (return ''first result'',) (else return ''second result'')."
  
It can also be used to replace the construct {{nowrap|<code>{{((}}#if:'''''a''''' {{!}}true {{!}}{{((}}#if:'''''b''''' {{!}}true {{!}}false{{))}} {{))}}</code>}} &nbsp;(i.e. "if '''''a''''', then true; else if '''''b''''', then true; else false").
+
This [[Help:Templates/Helper templates|helper template]] is designed to be used in other templates. It can help editors create template code that or self documenting. The major advantage of using this template over using the construct {{nowrap|<code><nowiki>{{#if:{{{1|}}}{{{2|}}} |…}}</nowiki></code>}} is that if the first parameter is not empty then the second parameter is not evaluated.
  
== Syntax and interpretation ==
+
The "or" in the "'''a''' or '''b'''" above is [[Logical disjunction|inclusive]]: if both '''a''' <u>and</u> '''b''' are true, the template will return the ''first result''.
  
<code class="nowrap">{{((}}if either {{!}}''a'' {{!}}''b'' {{!}}''output if (a or b) true'' {{!}}''output if (a or b) false''{{))}}</code>
+
This template can also be used to replace the construct {{nowrap|<code><nowiki>{{#if:</nowiki>'''a'''<nowiki> |true |{{#if:</nowiki>'''b'''<nowiki> |true |false}}}}</nowiki></code>}} (i.e. "if '''a''', then true; else if '''b''', then true; else false").
 
+
<!----
The "or" in "a or b" is [[Logical disjunction|inclusive]]: if both ''a'' '''and''' ''b'' are true, the template will return the first output (''output if&nbsp;... true'').
+
The template's code is:
 +
<pre> {{#if:{{{1|}}} |{{{3|}}} |{{#if:{{{2|}}} |{{{3|}}} |{{{4|}}} }} }} </pre>
 +
i.e. "If {{{1}}}, do {{{3}}}; else if {{{2}}}, do {{{3}}}; else do {{{4}}}."
 +
----->
  
 
== Examples ==
 
== Examples ==
<code>
 
<nowiki>{{if either |a |b |true |false}}</nowiki> → {{if either |a |b |true |false}}
 
 
<nowiki>{{if either |a | |true |false}}</nowiki> → {{if either |a | |true |false}}
 
 
<nowiki>{{if either | |b |true |false}}</nowiki> → {{if either | |b |true |false}}
 
  
<nowiki>{{if either | | |true |false}}</nowiki> {{if either | |  |true |false}}
+
{| class="wikitable"
</code>
+
! Code !! Result
 +
|-
 +
| <nowiki>{{if either |a |b |true |false}}</nowiki> || {{if either |a |b |true |false}}
 +
|-
 +
| <nowiki>{{if either |a | |true |false}}</nowiki> || {{if either |a | |true |false}}
 +
|-
 +
| <nowiki>{{if either | |b |true |false}}</nowiki> || {{if either | |b |true |false}}
 +
|-
 +
| <nowiki>{{if either | | |true |false}}</nowiki>   || {{if either | | |true |false}}
 +
|}
  
 
== See also ==
 
== See also ==
Line 28: Line 34:
 
* {{tl|if empty}}
 
* {{tl|if empty}}
  
<includeonly>
+
<includeonly>{{Sandbox other||
 
<!----CATEGORIES BELOW THIS LINE, PLEASE:---->
 
<!----CATEGORIES BELOW THIS LINE, PLEASE:---->
 
[[Category:If-then-else templates]]
 
[[Category:If-then-else templates]]
</includeonly>
+
}}</includeonly>

Latest revision as of 17:17, 25 April 2020

{{if either (|a) (|b) (|first result) (|second result)}}
 "If either (a or) (b) is true, (return first result,) (else return second result)."

This helper template is designed to be used in other templates. It can help editors create template code that or self documenting. The major advantage of using this template over using the construct {{#if:{{{1|}}}{{{2|}}} |…}} is that if the first parameter is not empty then the second parameter is not evaluated.

The "or" in the "a or b" above is inclusive: if both a and b are true, the template will return the first result.

This template can also be used to replace the construct {{#if:a |true |{{#if:b |true |false}}}} (i.e. "if a, then true; else if b, then true; else false").

Examples

Code Result
{{if either |a |b |true |false}} true
{{if either |a | |true |false}} true
{{if either | |b |true |false}} true
{{if either | | |true |false}} false

See also