ñòàòüèGNU Free Documentation License ìàòåðèàëû âçÿòû èç Âèêèïåäèè Ñòàòüÿ áûëà èçìåíåíà. Îðèãèíàë ñòàòüè.

Ýíöèêëîïåäèÿ:Ôóíêöèè ïàðñåðà

Ìàòåðèàë èç Ýíöèêëîïåäèè â ñâîáîäíîé ýíöèêëîïåäèè
(ïåðåíàïðàâëåíî ñ «Ýíöèêëîïåäèÿ:ÔóÏ»)
Ïåðåéòè ê: íàâèãàöèÿ, ïîèñê
â ÂÏ:Ïàðñåð
ÂÏ:ÏÀÐÑ

Äàííîå ðàñøèðåíèå (àíãë. extension) ôóíêöèé ïàðñåðà áûëî íàïèñàíî Òèìîì Ñòàðëèíãîì è óñòàíîâëåíî âî âñåõ ïðîåêòàõ ôîíäà Ýíöèêëîìåäèà â àïðåëå 2006 ãîäà. Áàçîâûé íàáîð ôóíêöèé ïàðñåðà èçâåñòåí ïîä íàçâàíèåì Magic words («âîëøåáíûå ñëîâà», «ìàãè÷åñêèå ñëîâà»). Áîëåå ïîäðîáíîå îïèñàíèå ôóíêöèé ïàðñåðà äàíî íà mediawiki.org.

Îáùèé ñèíòàêñèñ ôóíêöèé ïàðñåðà òàêîâ:

{{#ôóíêöèÿ: àðãóìåíò 1 | àðãóìåíò 2 | àðãóìåíò 3 | â}}

Âåðòèêàëüíàÿ ÷åðòà èñïîëüçóåòñÿ òàê æå ïðè îôîðìëåíèè òàáëèöû. Åñëè íåîáõîäèìî, ÷òîáû çíà÷åíèå(-ÿ), âûäàâàåìîå ïàðñåðîì, áûëî ÷àñòüþ òàáëèöû, òî íåîáõîäèìî â òàáëèöå ëèáî âìåñòî ñèìâîëà âåðòèêàëüíîé ÷åðòû èñïîëüçîâàòü øàáëîí-ïîäñòàíîâêó (âåðòèêàëüíóþ ÷åðòó çàìåíÿþò íà øàáëîí {{!}}, êîòîðûé àäåêâàòíî âîñïðèíèìàåòñÿ ôóíêöèÿìè ïàðñåðà, íî ïðè ôîðìèðîâàíèè ñòðàíèöû äâèæêîì Mediaenci ðàñêðûâàåòñÿ â âåðòèêàëüíóþ ÷åðòó, ôîðìèðóþùóþ òàáëèöó), ëèáî âìåñòî ñòàíäàðòíûõ ñèìâîëîâ òàáëèöû (|- è |), êîòîðûå ïàðñåð ìîæåò ïðèíÿòü çà íîâîå çíà÷åíèå/ðåçóëüòàò, èñïîëüçîâàòü òàáëè÷íûå òýãè HTML:

  • <table></table> (ñîçäàåò òàáëèöó, êàê è {|- è -|})
  • <tr> (íà÷èíàåò ñòðîêó)
  • <td> (ñîçäàåò ÿ÷åéêó â ñòðîêå)

Ñîäåðæàíèå

[ïðàâèòü] Ôóíêöèè

#expr:

Ôóíêöèÿ expr ïðîèçâîäèò ìàòåìàòè÷åñêèå âû÷èñëåíèÿ íàä ÷èñëàìè èëè ïåðåìåííûìè/ïàðàìåòðàìè, ïðèâîäèìûìè ê ÷èñëàì. Ñèíòàêñèñ:

{{ #expr: âûðàæåíèå }}

Ïîääåðæèâàþòñÿ ñëåäóþùèå îïåðàòîðû (ïåðå÷èñëåíû â ïîðÿäêå, ïðèìåðíî ñîîòâåòñòâóþùåì èõ ïðèîðèòåòó):

Îïåðàòîð Äåéñòâèå Ïðèìåð
â {{#expr: 123456789012345}} = 1.2345678901234E+14

{{#expr: 0.000001}} = 1.0E-6

() Îïåðàòîðû ãðóïïèðîâàíèÿ {{#expr: (30 + 7) * 7 }} = 259
+ Óíàðíûé çíàê + {{#expr: +30 * +7}} = 210
- Óíàðíûé çíàê - (èíâåðòèðîâàíèå çíàêà) {{#expr: -30 * -7}} = 210
not Óíàðíîå ëèáî ëîãè÷åñêîå ÍÅ {{#expr: not 0 * 7}} = 7
{{#expr: not 30+7}} = 7
* Óìíîæåíèå {{#expr: 30 * 7}} = 210
/ Äåëåíèå, ýêâèâàëåíò div {{#expr: 30 / 7}} = 4.2857142857143
^ Âîçâåäåíèå â ñòåïåíü {{#expr: 3 ^ 2}} = 9
div Äåëåíèå, ýêâèâàëåíò /,
öåëî÷èñëåííîãî äåëåíèÿ íåò
{{#expr: 30 div 7}} = 4.2857142857143
{{#expr: 5 div 2 * 2 + 5 mod 2}} = 6
mod Îñòàòîê îò äåëåíèÿ, ïîëó÷àåòñÿ äåëåíèåì àðãóìåíòîâ, ó êîòîðûõ îòáðîøåíû äðîáíûå ÷àñòè
Îáðàòèòå âíèìàíèå, ÷òî div è mod ðàáîòàþò íå êàê â îáû÷íûõ ÿçûêàõ ïðîãðàììèðîâàíèÿ.
{{#expr: 30 mod 7}} = 2

{{#expr: -8 mod -3}} = -2
{{#expr: -8 mod +3}} = -2
{{#expr: 8 mod 2.7}} = 0
{{#expr: 8 mod 3.2}} = 2
{{#expr: 8.9 mod 3}} = 2

+ Ñëîæåíèå {{#expr: 30 + 7}} = 37
- Âû÷èòàíèå {{#expr: 30 - 7}} = 23
round Îêðóãëÿåò ÷èñëî ñëåâà îò ñåáÿ äî 1/10 â ñòåïåíè ÷èñëà, óêàçàííîãî ñïðàâà {{#expr: 30 / 7 round 3}} = 4.286

{{#expr: 30 / 7 round 0}} = 4
{{#expr: 3456 round -2}} = 3500

= Ðàâåíñòâî (÷èñëåííîå è áóëåâî ñðàâíåíèå) {{#expr: 30 = 7}} = 0
<> Íåðàâåíñòâî, ýêâèâàëåíò != {{#expr: 30 <> 7}} = 1
 != Íåðàâåíñòâî, ýêâèâàëåíò <> è ëîãè÷åñêîãî xor {{#expr: 1 != 0}} = 1
< Ìåíüøå {{#expr: 30 < 7}} = 0
> Áîëüøå {{#expr: 30 > 7}} = 1
<= Ìåíüøå èëè ðàâíî {{#expr: 30 <= 7}} = 0
>= Áîëüøå èëè ðàâíî {{#expr: 30 >= 7}} = 1
and Ëîãè÷åñêîå È {{#expr: 4 < 5 and 4 mod 2}} = 0
or Ëîãè÷åñêîå ÈËÈ {{#expr: 4 < 5 or 4 mod 2}} = 1

Áîëåå ïîäðîáíàÿ äîêóìåíòàöèÿ ïî îïåðàòîðàì ôóíêöèè â en:Help:Calculation.

Êàê âñåãäà, ëó÷øå ïîñòàâèòü ëèøíèå ñêîáêè, ÷åì ëîìàòü ãîëîâó ñ ïîðÿäêîì âû÷èñëåíèÿ.

Íà âûâîäå ëîãè÷åñêèõ ïåðåìåííûõ 0 îçíà÷àåò ëîæü, à 1 â èñòèíó.

Íàïðèìåð:

{{ #expr: (100 - 32) / 9 * 5 round 0 }}

âûäà¸ò: 38.

Ïðîèçâåäåíî ïðåîáðàçîâàíèå 100° ïî Ôàðåíãåéòó â ãðàäóñû ïî Öåëüñèþ ñ îêðóãëåíèåì äî áëèæàéøåãî öåëîãî ÷èñëà.

#if:

Ôóíêöèÿ if (àíãë. åñëè) ñëóæèò äëÿ ñîçäàíèÿ êîíñòðóêöèé âèäà if-then-else. Ÿ ñèíòàêñèñ òàêîâ:

{{ #if: <óñëîâèå> | <òåêñò, åñëè óñëîâèå èñòèííî> | <òåêñò, åñëè óñëîâèå ëîæíî> }}

Åñëè óñëîâèå â ïóñòàÿ ñòðîêà èëè ñîñòîèò òîëüêî èç ïðîáåëîâ, ñ÷èòàåòñÿ, ÷òî óñëîâèå íå âûïîëíåíî, è âîçâðàùàåòñÿ òåêñò, åñëè óñëîâèå ëîæíî; åñëè çàäàííîå óñëîâèå èñòèííî, òî ïðè åãî âûïîëíåíèè âîçâðàùàåòñÿ òåêñò, åñëè óñëîâèå èñòèííî. Ïîñëåäíèé ïàðàìåòð ìîæåò áûòü îïóùåí â â ýòîì ñëó÷àå ïðè ëîæíîì óñëîâèè áóäåò âîçâðàùåíà ïóñòàÿ ñòðîêà.

Îáðàòèòå âíèìàíèå, ÷òî if íå ïîääåðæèâàåò ñðàâíåíèå ïðè ïîìîùè «=» è ïðî÷èå ìàòåìàòè÷åñêèå îïåðàöèè. Òàê, {{#if: 1 = 2|äà|íåò}} âîçâðàòèò «äà», òàê êàê ñòðîêà «1 = 2» íå ïóñòà. Äëÿ ñðàâíåíèÿ ñòðîê èñïîëüçóéòå ifeq. Äëÿ ñðàâíåíèÿ ÷èñåë èñïîëüçóéòå ifexpr.

#ifeq:

Ôóíêöèÿ ifeq ñðàâíèâàåò äâå ñòðîêè, âîçâðàùàÿ åù¸ îäíó ñòðîêó â çàâèñèìîñòè îò ðåçóëüòàòà ñðàâíåíèÿ. Ÿ ñèíòàêñèñ òàêîâ:

{{ #ifeq: <ñòðîêà äëÿ ñðàâåíèÿ 1> | <ñòðîêà äëÿ ñðàâåíèÿ 2> | <òåêñò, åñëè ðàâíû> | <òåêñò,
åñëè íå ðàâíû>
}}

#ifexist:

Ôóíêöèÿ ifexist ïîõîæà ïî ñèíòàêñèñó íà if, òîëüêî âìåñòî óñëîâèÿ ïðîâåðÿåòñÿ ñóùåñòâîâàíèå ñòàòüè ñ óêàçàííûì çàãîëîâêîì. Ïðîâåðêà âûïîëíÿåòñÿ ñ ó÷¸òîì ðåãèñòðà ïîñëå ïðèâåäåíèÿ ïðîâåðÿåìîãî çàãîëîâêà ê êàíîíè÷åñêîìó âèäó (åñëè â íà÷àëå ñòîèò ñòðî÷íàÿ áóêâà, òî îíà ïðåîáðàçóåòñÿ â ïðîïèñíóþ). Íàïðèìåð:

{{#ifexist:User:Box|Ó÷àñòíèê åñòü|Ó÷àñòíèêà íåò}} âåðí¸ò Ó÷àñòíèê åñòü, ïîñêîëüêó ñòðàíèöà User:Box ñóùåñòâóåò.
{{#ifexist:User:Box|Ó÷àñòíèê åñòü|Ó÷àñòíèêà íåò}} âåðí¸ò Ó÷àñòíèê åñòü, ïîñêîëüêó user:box ïðè ïðèâåäåíèè ê êàíîíè÷åñêîé ôîðìå äàñò User:Box.
{{#ifexist:User:BOX|Ó÷àñòíèê åñòü|Ó÷àñòíèêà íåò}} âåðí¸ò Ó÷àñòíèêà íåò, ïîñêîëüêó ñòðàíèöà User:BOX íå ñóùåñòâóåò.

{{#ifexist}} íå ðàáîòàåò ñ îòíîñèòåëüíûìè ïóòÿìè òèïà /ïîäñòðàíèöà.

Äëÿ ïðîñòðàíñòâà èì¸í "Ôàéë: " (òàêæå "File: ", "Èçîáðàæåíèå: ") ïðîâåðÿåòñÿ íàëè÷èå òîëüêî ëîêàëüíîãî ôàéëà, íî íå ôàéëà íà Ýíöèêëîñêëàäå. Äëÿ ïðîâåðêè íàëè÷èÿ äîñòóïíîãî ôàéëà òàêæå è íà Ýíöèêëîñêëàäå, íóæíî èñïîëüçîâàòü ïðåôèêñ "Medià: «

Ïðèìåð (ôàéë Example.png çàãðóæåí òîëüêî íà Ýíöèêëîñêëàä):

{{#ifexist:Ôàéë:Example.png|åñòü|íåò}} âåðí¸ò íåò
{{#ifexist:Èçîáðàæåíèå:Example.png|åñòü|íåò}} âåðí¸ò íåò
{{#ifexist:Media:Example.png|åñòü|íåò}} âåðí¸ò åñòü

Åñëè áûëà ñîçäàíà ëîêàëüíàÿ ñòðàíèöà îïèñàíèÿ ôàéëà ñ Ýíöèêëîñêëàäà, âñå 3 âàðèàíòà âåðíóò âåñòüâ.

#ifexpr:

ifexpr âû÷èñëÿåò ìàòåìàòè÷åñêîå âûðàæåíèå è âîçâðàùàåò îäíó èç äâóõ ñòðîê â çàâèñèìîñòè îò ðåçóëüòàòà.

{{ #ifexpr: <âûðàæåíèå> | <òåêñò, åñëè èñòèíà> | <òåêñò â ïðîòèâíîì ñëó÷àå> }}

Åñëè ðåçóëüòàò âû÷èñëåíèé ðàâåí íóëþ â âîçâðàùàåòñÿ âòîðîé òåêñò, â ïðîòèâíîì ñëó÷àå â ïåðâûé. Ìàòåìàòè÷åñêèé ñèíòàêñèñ òàêîé æå, êàê ó expr.

#switch:

switch ñðàâíèâàåò îäíî çíà÷åíèå ñî ìíîãèìè, âîçâðàùàÿ ðåçóëüòàò, åñëè íàéäåíî ñîâïàäåíèå. Åñëè ñîâïàäåíèå íå íàéäåíî, òî âîçâðàùàåòñÿ óêàçàííûé â êîíöå çàïèñè ðåçóëüòàò ïî óìîë÷àíèþ (îí îáÿçàòåëüíî äîëæåí áûòü ïîñëåäíèì). Íàëè÷èå ýòîãî ðåçóëüòàòà íåîáÿçàòåëüíî, è â ñëó÷àå îòñóòñòâèÿ åãî è ñîâïàäåíèé íè÷åãî âîçâðàùåíî íå áóäåò.

{{#switch: <ñðàâíèâàåìàÿ âåëè÷èíà>
 | <çíà÷åíèå1> = <ðåçóëüòàò1>
 | <çíà÷åíèå2> = <ðåçóëüòàò2>
 | ...
 | <çíà÷åíèån> = <ðåçóëüòàòn>
 | <ðåçóëüòàò ïî-óìîë÷àíèþ>
}}

Åñëè äëÿ íåñêîëüêèõ çíà÷åíèé äîëæåí áûòü îäèíàêîâûé ðåçóëüòàò, òî çàïèñü ìîæíî ñîêðàòèòü:

{{#switch: <ñðàâíèâàåìàÿ âåëè÷èíà>
 | <çíà÷åíèå1a> | <çíà÷åíèå1b> | ... | <çíà÷åíèå1x> = <ðåçóëüòàò1>
 | <çíà÷åíèå2a> | <çíà÷åíèå2b> | ... | <çíà÷åíèå2y> = <ðåçóëüòàò2>
 | ...
 | <çíà÷åíèåNa> | <çíà÷åíèåNb> | ... | <çíà÷åíèåNz> = <ðåçóëüòàòN>
 | <ðåçóëüòàò ïî-óìîë÷àíèþ>
}}

#switch ìîæåò èñïîëüçîâàòüñÿ âìåñòî îäíîãî èëè íåñêîëüêèõ #ifeq:

{{#switch: a | a=true | false }} äà¸ò true
{{#ifeq: a | a | true | false }} äà¸ò true

Åñëè ñðàâíèâàåìàÿ âåëè÷èíà èëè çíà÷åíèÿ ñîäåðæèò çíàê ðàâåíñòâà (â=â), òî switch íå ñìîæåò ïðàâèëüíî ñðàâíèòü å¸ è çíà÷åíèÿ. Äëÿ ýòîãî íóæíî îáÿçàòåëüíî â çíà÷åíèÿõ (íî íåîáÿçàòåëüíî â ñðàâíèâàåìîé âåëè÷èíå) èñïîëüçîâàòü øàáëîí {{=}}, êîòîðûé ñîäåðæèò çíàê ðàâåíñòâà:

{{#switch: 1=2
 | 1=2 = raw
 | 1<nowiki>=</nowiki>2 = nowiki
 | 1&#61;2 = html
 | 1{{=}}2 = template
 | default }} template

#time:

#time â ôóíêöèÿ, ôîðìàòèðóþùàÿ âðåìÿ è äàòó. Ñèíòàêñèñ:

{{ #time: format }}

èëè

{{ #time: format | time }}

Åñëè âðåìÿ íå çàäàíî, òî èñïîëüçóåòñÿ òåêóùåå.

Èç-çà êýøèðîâàíèÿ âîçìîæíî ðàçëè÷èå ìåæäó ðåàëüíûì âðåìåíåì è îòîáðàæàåìûì. Äëÿ ðó÷íîãî îáíîâëåíèÿ ñîõðàíèòå ñòðàíèöó, íå äåëàÿ íèêàêèõ èçìåíåíèé, èëè ïåðåéäèòå ïî àäðåñó /Èìÿ_ñòðàíèöû?action=purge.

Àðãóìåíò format ïîäîáåí èñïîëüçóåìîìó â ôóíêöèè PHP date

Ñèìâîë Îïèñàíèå Ïðèìåð Òåêóùåå çíà÷åíèå
d Äåíü ìåñÿöà ñ íóë¸ì. 04 10
D Êðàòêîå íàçâàíèå äíÿ íåäåëè. Ïí Âò
j Äåíü ìåñÿöà áåç íóëÿ. 4 10
l Ïîëíîå íàçâàíèå äíÿ íåäåëè. ïîíåäåëüíèê âòîðíèê
N Íîìåð äíÿ íåäåëè ISO 8601 1 (ïîíåäåëüíèê) â 7 (âîñêðåñåíüå) 2
w Íîìåð äíÿ íåäåëè 0 (âîñêðåñåíüå) â 6 (ñóááîòà) 2
z Íîìåð äíÿ ãîäà (íà÷èíàÿ ñ 0) 0â365 100
W Íîìåð íåäåëè ISO 8601 15
F Ïîëíîå íàçâàíèå ìåñÿöà â èìåíèòåëüíîì ïàäåæå. ÿíâàðü àïðåëü
xg Ïîëíîå íàçâàíèå ìåñÿöà â ðîäèòåëüíîì ïàäåæå. ÿíâàðÿ àïðåëÿ
m Íîìåð ìåñÿöà ñ íóë¸ì. 01â12 04
M Êðàòêîå íàçâàíèå ìåñÿöà. ñåí àïð
n Íîìåð ìåñÿöà áåç íóëÿ. 1â12 4
t Êîëè÷åñòâî äíåé â ìåñÿöå 28â31 30
L Ïðîâåðêà ÿâëÿåòñÿ ëè ãîä âèñîêîñíûì 1 åñëè ãîä âèñîêîñíûé, èíà÷å 0 1
Y Ãîä ñ 4 öèôðàìè. 2006 2012
y Ãîä ñ 2 öèôðàìè. 06 12
a am èëè pm pm
A AM èëè PM PM
g 12-÷àñîâîé ôîðìàò áåç 0 1â12 3
G 24-÷àñîâîé ôîðìàò áåç 0 0â23 15
h 12-÷àñîâîé ôîðìàò ñ 0 01â12 03
H 24-÷àñîâîé ôîðìàò c 0 00â23 15
i Ìèíóòà ñ íóë¸ì. 00â59 58
s Ñåêóíäà ñ íóë¸ì. 00â59 36
c ISO 8601 2012-04-10T15:58:36+00:00
r RFC 2822 Tue, 10 Apr 2012 15:58:36 +0000
U UNIX-âðåìÿ 1334073516

Ðàñøèðåíèå PHP cèíòàêñèñà:

Ñèìâîë Îïèñàíèå
xn Âûâîäèò ñëåäóþùèé ÷èñëîâîé êîä â ASCII ÷èñëî. Íàïðèìåð, íà ÿçûêå õèíäè {{ #time:«H, xnH»}} âûâåäåò âàà, 06â.
xr Âûâîäèò ñëåäóþùèé ÷èñëîâîé êîä ðèìñêèìè öèôðàìè (òîëüêî äëÿ ÷èñåë <3000). Íàïðèìåð, {{ #time:«Y, xrY»}} âûâåäåò «2012, MMXII».
xx Áóêâà âxâ

Âñå äðóãèå ñèìâîëû áóäóò âûâåäåíû áåç èçìåíåíèé.

  • Ôðàçà, çàêëþ÷¸íàÿ â äâîéíûå êàâû÷êè, áóäåò âûâåäåíà áåç èçìåíåíèé è êàâû÷åê. Íåçàêðûòûå êàâû÷êè áóäóò ñ÷èòàòüñÿ ñèìâîëàìè.
    • {{ #time: "Ñåãîäíÿ" l}} Ñåãîäíÿ âòîðíèê
    • {{ #time:iâ™s"}} 20â™11»
  • Íàêëîííàÿ ÷åðòà âëåâî ðàáîòàåò òàê æå êàê è â PHP date(). \H âûâîäèò H, \" âûâîäèò ".

Ôîðìàò ïàðàìåòðà time èäåíòè÷åí èñïîëüçóåìîìó â PHP strtotime(). Ýòî ìîãóò áûòü àáñîëþòíûå è îòíîñèòåëüíûå äàòû, íàïðèìåð «11 äåêàáðÿ» è/èëè «+10 hours», ÷òî ìîæåò èñïîëüçîâàòüñÿ äëÿ ïåðåâîäà âðåìåííûõ çîí.

  • {{ #time: j F Y | -14 days }} 27 ìàðò 2012 (14 äíåé íàçàä)
  • {{ #time: H:i | +4 hours }} 19:58 (UTC+4)
  • {{ #time: H:i | 8:15 +6 hours }} 14:15

#rel2abs:

Ôóíêöèÿ #rel2abs ïðåîáðàçóåò îòíîñèòåëüíûé ïóòü ññûëêè â àáñîëþòíûé.

{{ #rel2abs: | path }}

Ïîä îòíîñèòåëüíûì ïóò¸ì ïðèíèìàåòñÿ òàêîé, êîòîðûé íà÷èíàåòñÿ ñ ñèìâîëîâ '/', './' èëè '../', à òàêæå ïðîñòî '..' èëè '.'.

Ïðèìåð:

  • Åñëè íàõîäèòüñÿ íà ñòð. Help:Foo/bar è âûçâàòü {{#rel2abs: ../baz}}, ðåçóëüòàòîì äîëæíî ñòàòü Help:Foo/baz
  • Åñëè íàõîäèòüñÿ íà ñòð. Help:Foo è âûçâàòü {{#rel2abs: ../baz}}, ðåçóëüòàòîì äîëæíî ñòàòü baz
  • Åñëè íàõîäèòüñÿ íà ñòð. Help:Foo è âûçâàòü {{#rel2abs: ../../baz}}, ðåçóëüòàòîì äîëæíî ñòàòü Error: Invalid depth in path: "Help:Foo/../../baz" (tried to access a node above the root node)"

×òîáû íå ïðîâåðÿòü, ñóùåñòâóåò ëè èñêîìûé ïóòü, ìîæíî èñïîëüçîâàò ýòó ôóíêöèþ â êîìáèíàöèè ñ #ifexist:

{{#ifexist: {{#rel2abs: ..}} | '..' exist | '..' does not exist}}

Åñëè ïóòü, ïåðåäàâàåìûé íà âõîä ôóíêöèè â êà÷åñòâå ïàðàìåòðà, íå èäåíòèôèöèðîâàí êàê îòíîñèòåëüíûé ïóòü, ôóíêöèÿ åãî âåðí¸ò â êà÷åñòâå ðåçóëüòàòà. Íàïðèìåð:

{{#rel2abs: Help:Help}} âîçâðàùàåò 'Help:Help'

#titleparts:

Ôóíêöèÿ #titleparts âîçâðàùàåò ïîäñòðîêó äî íóæíîãî ñëýøà. Îñíîâíîé öåëüþ ÿâëÿåòñÿ âîçìîæíîñòü ïîëó÷åíèÿ ñòðàíèö âñåõ óðîâíåé, äëÿ êîòîðûõ äàííàÿ ÿâëÿåòñÿ ïîäñòðàíèöåé.

{{ #titleparts: title | bits }}

 ñëó÷àå, êîãäà ïàðàìåòð bits ðàâåí íóëþ, áîëüøå êîëè÷åñòâà óðîâíåé ñòàòüè èëè åãî íåâîçìîæíî ïðåîáðàçîâàòü â ÷èñëî, âîçâðàùàåòñÿ title

Ïðèìåð:

  • {{#titleparts:Ñòàòüÿ/foo/bar|1}} âåðí¸ò ðåçóëüòàò ðåçóëüòàò Ñòàòüÿ
  • {{#titleparts:Ñòàòüÿ/foo/bar|2}} âåðí¸ò ðåçóëüòàò ðåçóëüòàò Ñòàòüÿ/foo
  • {{#titleparts:Ñòàòüÿ/foo/bar|1|2}} âåðí¸ò ðåçóëüòàò ðåçóëüòàò foo
  • Åñëè íàõîäèòüñÿ íà ñòð. Ó÷àñòíèê:Foo/bar è âûçâàòü {{#titleparts:{{FULLPAGENAME}}|1}}, ðåçóëüòàòîì äîëæíî ñòàòü Ó÷àñòíèê:Foo.
  • Åñëè íàõîäèòüñÿ íà ñòð. Ó÷àñòíèê:Foo/bar è âûçâàòü {{#titleparts:{{PAGENAME}}|1}}, ðåçóëüòàòîì äîëæíî ñòàòü Foo.

#iferror:

{{#iferror:âûðàæåíèå|îøèáêà|óäà÷íî}} âîçâðàùàåò îøèáêó, åñëè âûðàæåíèå ñîäåðæèò ñòðîêó <strong class="error">, êîòîðàÿ ãåíåðèðóåòñÿ ôóíêöèÿìè #expr, #ifexpr, #time, #rel2abs è â íåêîòîðûõ äðóãèõ ñèòóàöèÿõ â Mediaenci (òàêèìè êàê ãëóáîêàÿ ðåêóðñèÿ). Ýòî ñàìûé óäîáíûé ñïîñîá îòëàâëèâàòü íåïðàâèëüíûé ââîä, êîòîðûé äîëæåí áûòü ïåðåäàí íåêîòîðûì äðóãèì ôóíêöèÿì ïàðñåðà. Íàïðèìåð:

  • {{#iferror:{{#expr:1+1}}|íåâåðíûé ââîä|ïðàâèëüíîå âûðàæåíèå}} äàñò ïðàâèëüíîå âûðàæåíèå
  • {{#iferror:{{#expr:1+Z}}|íåâåðíûé ââîä|ïðàâèëüíîå âûðàæåíèå}} äàñò íåâåðíûé ââîä

Ïîñëåäíèå äâà ïàðàìåòðà íåîáÿçàòåëüíû. Åñëè ïàðàìåòð óäà÷íî îïóùåí, òîãäà â ñëó÷àå óäà÷è áóäåò âîçâðàùåíî âûðàæåíèå. Åñëè ïàðàìåòð îøèáêà òàêæå îïóùåí, òîãäà â ñëó÷àå îøèáêè íå áóäåò âûâåäåíî íè÷åãî, à â ñëó÷àå óäà÷íîãî âûïîëíåíèÿ áóäåò âîçâðàùåíî âûðàæåíèå.

  • {{#iferror:{{#expr:1+1}}|íåâåðíûé ââîä}} äàñò 2
  • {{#iferror:{{#expr:1+Z}}|íåâåðíûé ââîä}} äàñò íåâåðíûé ââîä
  • {{#iferror:{{#expr:1+1}}}} äàñò 2
  • {{#iferror:{{#expr:1+Z}}}} äàñò

Òàêèì îáðàçîì:

  • {{#iferror:Ýíöèêëîòåêñò|àëüòåðíàòèâà}} çíà÷èò «âûâåñòè Ýíöèêëîòåêñò, åñëè îí âåðíûé, èíà÷å àëüòåðíàòèâó».
  • {{#iferror:Ýíöèêëîòåêñò}} çíà÷èò «âûâåñòè Ýíöèêëîòåêñò, åñëè îí âåðíûé».
Ïðèìå÷àíèå: ýòà ôóíêöèîíàëüíîñòü çàìåùàåò áàã â ñòàðîì ïðåïðîöåññîðå, ïîçâîëÿâøèé èñïîëüçîâàòü #switch äëÿ îòëîâà îøèáîê â âûðàæåíèÿõ.

Ñì. òàêæå: r29774, r29775, r29877.

[ïðàâèòü] Ñì. òàêæå

[ïðàâèòü] Èñòîðèÿ óñòàíîâêè ðàñøèðåíèÿ

Ðàñøèðåíèå áûëî íàïèñàíî Òèìîì Ñòàðëèíãîì è óñòàíîâëåíî âî âñåõ ïðîåêòàõ ôîíäà «Ýíöèêëîìåäèà» â àïðåëå 2006 ãîäà.

Ïðîñòðàíñòâà èì¸í

Âàðèàíòû
Ïðîñìîòðû
Äåéñòâèÿ