FANDOM


ヘルプ

この拡張機能はFandomではデフォルトで有効化されています

パーサー関数 (パーサ関数とも, 英: Parser function) は、テンプレート等において論理演算を実行する、MediaWikiの拡張機能です。 パーサー関数を使用すると、定義された引数をもとに、特定の結果が出力されます。

パーサー関数は、テンプレートと同様に、波括弧 ( {{ }} ) で囲んで記述します。 これらは、関数名に、コロンかハッシュ文字(#)のどちらか (または、{{#if:}}関数などの場合はどちらも) を含んでいます。

コミュニティで利用できる全てのパーサー関数は、特別:Versionから確認できます。

詳しい手順 編集

  1. まず、あなたの目的に合ったパーサー関数を見つけます。パーサー関数は、様々な種類のものがありますので、ぜひ、事前に確認してみてください。
    この節では、いくつかのパーサー関数を紹介しています。それぞれ、リンクから詳しい解説 (一部、または全て英語の場合があります) を見ることもできます。
  2. 使いたいパーサー関数の、正確な構文を確認します。
    このステップ・バイ・ステップの説明では、{{#ifexpr:}} (if expression) パーサー関数を使います。この関数は、既定で有効化されており、Fandomの全コミュニティで使用できます。構文は以下の通りです。
    {{#ifexpr: 数式 | 0以外の場合に返す文 | 0の場合に返す文 }}
  3. 使用例
    {{#ifexpr: 1 > 0 | yes | no }}
    上の使用例では、 (1 > 0) の数式を使用しており、 1 > 0 が数学的に正しければ "yes" 、誤っていれば "no" を返します。
  4. ページを保存して、関数が妥当な値を返しているかどうか確かめてください。この例では、1は確かに0より大きいので、 "yes" が返されなければなりません。
    {{#ifexpr: 1 > 0 | yes | no }}yes.
    返される結果を保ったまま、数式に手を加えたい場合は、必ず検証を行ってください。以下の不等式では、0は1より小さいので、 "no" が返され、先ほどの例とは違う結果になります。
    {{#ifexpr: 1 < 0 | yes | no }}no.

1 > 0 が成り立つことは一目瞭然なので、上の例は馬鹿馬鹿しく感じたかもしれません。それは、パーサー関数の良さは、引数 (パラメータ) を使ってこそ発揮されるものだからです。 ここで、テレビ番組に関するコミュニティの、インフォボックスを制作する場合を例としましょう。このインフォボックスで、登場人物の年齢と、大人 (18歳以上とします) かそうでないかの項目を作ります。

年齢から、大人かどうかを出力するコードは、以下のように書きます。

:  {{#ifexpr: {{{Age}}} >= 18 | この登場人物は大人です。 | この登場人物は子どもです。}}

このコードは、登場人物が18歳以上であれば「この登場人物は大人です。 」を返し、18歳未満であれば「この登場人物は子どもです。」を返します。

定義済みの MediaWiki パーサー関数 編集

MediaWikiソフトウェアには、あらかじめいくつかのパーサー関数が用意されています。利用できるパーサー関数の一覧は、 MediaWiki.org のページをご覧ください。このページでは、特に役に立つものを紹介します。

{{fullurl:}}
そのページの絶対URLを返します。
{{fullurl:Help:Contents}}http://ja.community.fandom.com/wiki/%E3%83%98%E3%83%AB%E3%83%97:Contents
{{#language:}}
言語コードを言語名に変換します。
{{#language:es}} → Español
{{lc:}}
すべて小文字に変換します。 (反対の関数: {{uc:}})
{{lc:CASE}} → case
{{ns:}}
名前空間の番号やその既定名から、そのプロジェクトで使われている名前空間名を表示します。
{{ns:4}} → コミュニティセントラル
{{plural:}}
数が 1 の時には、単数形を、そうでなければ 複数形を表示します。
ロシア語のように 2 から 4 に特別な言い方のある場合、2 から 4 の時に 単数生格を、5以上の時に複数形を表示します。
{{plural:1|is|are}} → is
{{plural:2|is|are}} → are

パーサー関数拡張機能 編集

Ifelselogic

パーサー関数拡張機能は、単純な論理を使って便利なコードを返しています。

パーサー関数拡張機能とは、複数の便利なパーサー関数を追加する、MediaWikiの拡張機能の中でも特に人気の高い拡張機能です。この拡張機能は、全てのコミュニティで既定で利用できます。この拡張機能には、現在では使用を推奨されていない、{{#explode}}を始めとする文字列関数 (StringFunctions)も含まれています。

このパーサー関数拡張機能には、数学演算のための関数や、if/else構文、time関数が含まれています。この拡張機能に含まれる全ての関数の一覧と、使用方法の詳細については、MediaWiki公式のパーサー関数拡張機能解説ページをご覧ください。

その他の拡張機能 編集

コミュニティで人気のある拡張機能には、パーサー関数を追加するものが多数あります。

  • Arrays - {{#arraydefine}}, {{#arrayprint}}, {{#arraysearcharray}} を追加します。
  • Semantic MediaWiki - {{#ask}}, {{#set}}, {{#show}} を追加します。
  • Semantic Forms - {{#formlink}}, {{#forminput}}, {{#arraymap}} を追加します。
  • Simple Calendar - {{#calendar}} を追加します。
  • Variables - {{#var}}, {{#vardefine}}, {{#vardefineecho}} を追加します。

気になる拡張機能に、パーサー関数が含まれている場合は、MediaWiki.orgの各拡張機能ページをご覧ください。

関連情報 編集

その他のヘルプとフィードバック 編集

  • ヘルプ:コンテンツでは、他のヘルプページを閲覧、検索することができます。
  • 最新の情報やヘルプについては、コミュニティセントラルをご覧ください。
  • この記事で不明確な点や、曖昧な点がございましたら、こちらからお問い合わせください。
  • Fandom ユニバーシティで、FANDOMの利用方法を学ぶことができます: さまざまな習熟度向けに、ちょっとした時間を使って学べる解説動画が用意されています。