Pomoc:Funkcje parsera

Z Nonsensopedii, polskiej encyklopedii humoru

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.