بحث الگو: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:
- For | offers a workaround.
- 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
- example uses of Ifdef
- Parser functions #expr:, #if:, #ifeq:, etc.

