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.
Spis treści |
[edytuj] Funkcje
[edytuj] 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."
[edytuj] 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."
[edytuj] 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.
[edytuj] 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".
[edytuj] expr
Funkcja oblicza wyrażenia matematyczne. Na przykład{{#expr:1+1}} da w wyniku "2".
[edytuj] 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).
[edytuj] 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.


