بحث الگو:Ifdef

از ویکی‌پدیا، دانشنامهٔ آزاد.

فهرست مندرجات

[ویرایش] Documentation

{{ifdef}} is a compact variant of {{Qif}} for simple "if defined then do" statements without else part. It's the opposite of {{ifndef}}.

[ویرایش] Usage

{{Ifdef|value|result}} yields result  if value  isn't blank.

This template is used to simplify the following equivalent but somewhat cryptic code variants:

{{{1{{{1|}}}|{{{2}}}}}}
{{{value{{{value|}}}|{{{result}}}}}}
{{{test{{{test|}}}|{{{then}}}}}}


[ویرایش] Example

Code Result
1 {{Ifdef| |empty}} 1
2 {{Ifdef|x|gotcha}} 2 gotcha
3 {{Ifdef| {{{1| }}} | {{{1| }}} undefined}} 3
4 {{Ifdef| {{{1|x}}} | {{{1|x}}} for an u}} 4 x for an u
5 {{Ifdef| {{{ 1 }}} | {{{1}}} bad idea}} 5 {{{1}}} bad idea
6 {{Ifdef| {{!}} |see also {{Tlx|Qif}} }} 6 see also {{Qif}}
7 {{Ifdef| okay | 2=see=[[#Caveats]] }} 7 see=#Caveats
8 {{Ifdef| oops | see=[[#Caveats]] }} 8 {{{2}}}

See also a simpler example using ifdef. There's no default in ifdef for the second parameter, because this could hide problematic code.

[ویرایش] Caveats

In templates the characters "=" (=) and "|" (|) cannot be used as is in parameters. The numeric character references = and | are often good enough, but for Wiki and XHTML markup the literal characters are required:

  1. For | Template:! (edit talk links history) offers a workaround.
  2. For = the template parameter mechanism allows {{ifdef|1|2=ok=yes}} resulting in "ok=yes" instead of {{ifdef|1|bad=idea}} resulting in "{{{2}}}".

Substitution works only for {{ifdef}}, but not for {{ifndef}} or {{qif}}.

[ویرایش] See also