Pomoc:Funkcje parsera
Czym są funkcje parsera?
Funkcje parsera są małymi rozszerzeniami mechanizmu MediaWiki, dającymi różne wyniki przy zastosowaniu różnych argumentów. Najlepsze użycie znajdują w skomplikowanych szablonach.
Funkcje
if
Funkcja, która może wyświetlać różne wyniki w zależności od tego, czy podany parametr jest pusty lub nie.
Funkcja if zazwyczaj przyjmuje postać:
{{#if:{{{parametr|}}}|Parametr nie jest pusty.|Parametr jest pusty.}}
Oznacza to: jeśli parametr nie jest pusty, wtedy wyświetl "Parametr nie jest pusty.", a jeśli jest pusty, wtedy wyświetl "Parametr jest pusty." Przykładowo: załóżmy, że szablon o treści podanej wyżej znajduje się pod nazwą szablon:parametr. Jeśli użyjemy szablonu w ten sposób:
{{parametr|parametr=blablabla}}
wtedy powinien zostać wyświetlony tekst: "Parametr nie jest pusty." Jeśli użyjemy go w ten sposób:
{{parametr|blablabla}}
lub na przykład tak:
{{parametr}}
zostanie wyświetlony tekst: "Parametr jest pusty."
ifeq
Funkcja, która porównuje ze sobą dwie wartości i wyświetla wynik.
Funkcja ifeq zazwyczaj przyjmuje postać:
{{#ifeq:{{{kochanie}}}|tak|Kocham żelki!|Nie lubię żelek.}}
Oznacza to: jeśli kochanie jest równe tak, wtedy wyświetl tekst "Kocham żelki!"; jeśli kochanie jest różne od tak, wtedy wyświetl tekst "Nie lubię żelek." Załóżmy, że szablon o powyższej treści znajduje się pod nazwą szablon:żelki. Jeśli użyjemy szablonu w ten sposób:
{{żelki|kochanie=tak}}
wtedy wyświetli się tekst "Kocham żelki!" Jeśli szablon będzie użyty w sposób
{{żelki|kochanie=nie}}
lub w jakikolwiek inny sposób, na przykład
{{żelki}}
zostanie wyświetlony tekst: "Nie lubię żelek."
ifexist
Funkcja ifexist sprawdza, czy artykuł o podanej nazwie istnieje i wyświetla wynik. Zazwyczaj przyjmuje postać:
{{#ifexist:kot|Artykuł [[kot]] istnieje.|Artykuł [[kot]] nie istnieje.}}
Oznacza to: jeśli artykuł "kot" istnieje, wtedy wyświetl: "Artykuł kot istnieje." Jeśli nie istnieje wtedy wyświetl: "Artykuł kot nie istnieje." (artykuł kot w tym wypadku istnieje). Funkcja może mieć również nieco bardziej skomplikowaną postać:
{{#ifexist:{{{1}}}|Artykuł [[{{{1}}}]] istnieje.|Artykuł [[{{{1}}}]] nie istnieje.}}
Załóżmy, że szablon o powyższej treści znajduje się pod nazwą szablon:istnieje. Jeśli użyjemy go w ten sposób:
{{istnieje|kot}}
wtedy sprawdzi, czy artykuł kot istnieje i w zależności od tego wyświetli wynik.
switch
Funkcja porównuje jedną wartość z innymi i jeśli znajdzie taką samą wartość wyświetla wynik. W innym wypadku wyświetla wartość domyślną (jeżeli takowa została podana). Przykład:
{{#switch:{{{miesiąc}}} |1=styczeń |2=luty |3=marzec |4=kwiecień |5=maj |6=czerwiec |7=lipiec |8=sierpień |9=wrzesień |10=październik |11=listopad |12=grudzień |nie podano miesiąca }}
Przyjmijmy, że szablon o powyższej treści znajduje się pod nazwą szablon:miesiąc. Jeśli zostanie użyty w ten sposób:
{{miesiąc|miesiąc=1}}
wtedy funkcja wyświetli "styczeń". W przypadku
{{miesiąc}}
zostanie wyświetlony tekst "nie podano miesiąca".
expr
Funkcja oblicza wyrażenia matematyczne. Na przykład
{{#expr:1+1}}
da w wyniku "2".
Tabela używanych operatorów
Operator | Operacja matematyczna | Przykład |
---|---|---|
+ | Dodawanie | {{#expr: 30 + 7}} = 37 |
- | Odejmowanie | {{#expr: 30 - 7}} = 23 |
* | Mnożenie | {{#expr: 30 * 7}} = 210 |
/ lub div | Dzielenie | {{#expr: 30 / 7}} = 4.2857142857143 |
round | Zaokrąglanie do pewnej liczby miejsc po przecinku, podawanej za tym operatorem | {{#expr: 30 / 7 round 5}} = 4.28571 |
mod | Dzielenie modulo (reszta z dzielenia) | {{#expr: 30 mod 7}} = 2 |
Operatory logiczne ("1" - prawda, "0" - fałsz) | ||
= | Równa się | {{#expr: 30 = 7}} = 0 |
<> lub != | Nie równa się (jest większe lub mniejsze) | {{#expr: 30 <> 7}} = 1 |
< | Mniejsze niż | {{#expr: 30 < 7}} = 0 |
> | Większe niż | {{#expr: 30 > 7}} = 1 |
<= | Mniejsze lub równe | {{#expr: 30 <= 7}} = 0 |
>= | Większe lub równe | {{#expr: 30 >= 7}} = 1 |
and | Logiczne i | {{#expr: 30 and 7}} = 1 |
or | Logiczne lub | {{#expr: 30 or 7}} = 1 |
not | logiczne nie | {{#expr: not 7}} = 0 |
Specjalne | ||
( ) | Grupowanie | {{#expr: (30 + 7) * 5 }} = 185 |
UWAGA! Łącznikiem dziesiętnym liczb jest "." kropka (półtora=1.5).
ifexpr
Funkcja wykonuje wyrażenie matematyczne i wyświetla tekst, który jest zależny od wyniku. Przykład:
{{#ifexpr:1+1|1+1 nie jest równe 0.|1+1 równa się 0.}}
Oznacza to: jeśli wynik podanego działania (w tym wypadku 1+1) jest równy 0, wtedy funkcja wyświetli "1+1 równa się 0.", a jeśli wynik nie jest równy zeru, wtedy zostanie wyświetlony tekst "1+1 nie jest równe 0." Funkcja obsługuje te same operatory co expr.
Więcej o funkcjach parsera można przeczytać w Wikipedii.
Ta strona zawiera treści z Wikipedii. Oryginalny artykuł był umieszczony pod nazwą Wikipedia:Funkcje parsera. Lista autorów jest dostępna w historii strony. Tekst z Wikipedii jest udostępniony na licencji Creative Commons: uznanie autorstwa, na tych samych warunkach.