FANDOM


Сінтаксічны аналізатар — частка кода MediaWiki, якая дазваляе выконваць лагічныя аперацыі, падчас выканання якіх аналізатар выкарыстоўвае параметры, зададзеныя загадзя, і выводзіць вынік.

Аналізатар запаўняецца таксама, як і шаблоны, выкарыстоўваючы фігурныя дужкі. Іх можна легка распазнаць па наяўнасці двукроп'я ці кратаў (#) у функцыі (або жа ўсяго адразу, як у выпадку з {{#if:}}).

Спіс усіх даступных аналізатараў на вікі можна знайсці на старонцы «Адмысловае:Version».

Крок за крокам Edit

  1. Падбярыце патрэбную функцыю аналізатара, прыдатную для вашай лагічнай аперацыі. Звярніце ўвагу на тое, што існуе шмат іншых даступных функцый, якія дазваляюць нашмат хутчэй і лягчэй правесці тую ці іншую аперацыю.
    Ніжэй падзелу з прыкладам знаходзіцца дадатковая інфармацыя з спасылкамі, якія дазваляюць больш падрабязна азнаеміцца з кожным выглядам функцыі аналізатара.
  2. Вызначце правільны сінтаксіс, які будзеце выкарыстоўвацца ў функцыі.
    У нашым выпадку, мы будзем выкарыстоўваць функцыю {{#ifexpr:}}, якая даступная на ўсіх вікі па змаўчанні. Яе сінтаксіс:
    {{#ifexpr: "ўмова" | "значэнне, калі ўмова праўдзіва" | "значэнне, калі ўмова ілжыва" }}
  3. Запоўнім сінтаксіс функцыі.
    {{#ifexpr: 1 > 0 | ды | няма }}
    У прыведзеным вышэй прыкладзе мы выкарыстоўвалі матэматычнае ўмова (1 > 0), пры праўдзівым значэнні якога аналізатар выдасць нам "так", а пры ілжывым значэнні "няма".
  4. Захавайце старонку з аналізатарам і пераканайцеся, што функцыя вяртае чаканае значэнне. У нашым прыкладзе аналізатар павінен вярнуць значэнне "так", так як 1 больш, чым 0.
    {{#ifexpr: 1 > 0 | ды | няма }} " → ды.
    Паглядзім, што адбудзецца, калі мы зменім ўмова на 1 < 0. У дадзеным выпадку аналізатар верне нам значэнне "не".
    {{#ifexpr: 1 < 0 | ды | няма }} " → няма.

Прыклад вышэй можа здацца дурным, бо мы заўседы ведаем, што 1 больш 0. Але яго магчымасці павялічваюцца, калі мы выкарыстоўваем зменную ў ўмове. Давайце прадставім, што вы ствараеце інфобокс для вікі аб ТБ-шоу і хочаце аўтаматычна вызначаць ўзроставую групу персанажа па яго ўзросту.

Дадаўшы ў свой інфобокс аналізатар {{#ifexpr: {{{Узрост}}} >= 18 | Гэты персанаж дарослы | Гэты персанаж падлетак }}, вы атрымаеце значэнне "Гэты персанаж дарослы", калі зададзеная вамі пераменная "Ўзрост" будзе больш або роўная 18. Калі ж менш, аналізатар верне вам значэнне "Гэты персанаж падлетак".

Убудаваныя ў MediaWiki аналізатары Edit

Праграмнае забеспячэнне MediaWiki па змаўчанні мае свае ўласныя аналізатары, увесь спіс якіх можна знайсці на MediaWiki.org. У нашым выпадку мы прывядзем самыя карысныя.

{{fullurl:}}
Вяртае URL спасылку зададзенай старонкі.
{{fullurl:Вікія}}https://supolnastsi.fandom.com/be/wiki/%D0%92%D1%96%D0%BA%D1%96%D1%8F
{{#language:}}
Канвертуе моўны код у назву мовы.
{{#language:es}} → Español
{{lc:}}
Перакладае ўсе літары радкі ў малыя (супрацьлеглы эфект ў {{uc:}}).
{{lc:ПРЫВІТАННЕ}} → прывітанне
{{ns:}}
Вызначае назва прасторы іменаў па яго нумары.
{{ns:4}} → Супольнасці Wikia
{{plural:}}
Выводзіць форму множнага ліку (выключаючы першы параметр) у залежнасці ад колькасці (першы параметр).
{{PLURAL:3|старонка|старонкі|старонак}} → старонкі
{{PLURAL:5|старонка|старонкі|старонак}} → старонак

Пашырэнне ParserFunctions Edit

Адным з самых папулярных пашырэньні MediaWiki з'яўляецца пашырэнне ParserFunctions, які дадае новыя карысныя функцыі. Яно па змаўчанні ўключана на ўсім прасторы Вікія і ў ім прысутнічаюць функцыі састарэлага пашырэння StringFunctions, у прыватнасці значная функцыя {{#explode}}.

Пашырэнні ParserFunctions ўключае ў сябе функцыі для матэматычных аперацый, аперацый з умовамі і аперацый з часам. Поўны спіс і дакументацыю па гэтым пашырэнню можна знайсці на афіцыйнай старонцы пашырэння.

Іншыя пашырэння Edit

Існуюць таксама некалькі іншых папулярных пашырэнняў, дадавалых новы функцыі аналізатара.

  • Arrays - дадае {{#arraydefine}}, {{#arrayprint}}, {{#arraysearcharray}}.
  • Semantic MediaWiki - дадае {{#ask}}, {{#set}}, {{#show}}.
  • Semantic Forms - дадае {{#formlink}}, {{#forminput}}, {{#arraymap}}
  • Simple Calendar - дадае {{#calendar}}
  • Variables - дадае {{#var}}, {{#vardefine}}, {{#vardefineecho}}.

Гл. таксама Edit

Community content is available under CC-BY-SA unless otherwise noted.