コミュニティセントラル
このヘルプには更新、または翻訳されていないコンテンツがあります。どなたでも翻訳にご協力いただくことができます。
原文 : w:Help:Parser functions

パーサー関数 (パーサ関数とも, 英: 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

パーサー関数拡張機能[]

パーサー関数拡張機能とは、複数の便利なパーサー関数を追加する、MediaWikiの拡張機能の中でも特に人気の高い拡張機能です。この拡張機能は、全てのコミュニティで既定で利用できます。

このパーサー関数拡張機能には、数学演算のための関数や、if/else構文、time関数が含まれています。

この拡張機能に含まれる全ての関数の一覧と、使用方法の詳細については、MediaWiki公式のパーサー関数拡張機能解説ページをご覧ください。

String functions[]

String functions (文字列関数) are now a part of the ParserFunctions extension. But they used to be a part of their own, separate extension. So don't get confused when you read about it. Only the StringFunctions extension is deprecated. String functions themselves are alive and well!

String functions are a series of specialised parser functions that work on text strings. They allow you to do things like:

  • determine the length of a string
  • figure out which position in the string a particular character occupies
  • find a whole word in a string

On their own, string functions may seem arcane, but they're vital when you're trying to do something like turn Ant-Man (Earth-616) into just Ant-Man. They allow you to detect the parenthetical (Earth-616) and chop it off!

その他の拡張機能[]

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

  • Arrays - {{#arraydefine}}, {{#arrayprint}}, {{#arraysearcharray}} を追加します。
  • Loops - {{#while}}, {{#dowhile}}, {{#loop}}, {{#forargs}}, {{#fornumargs}} を追加します。
  • Semantic MediaWiki - {{#ask}}, {{#set}}, {{#show}} を追加します。現在リクエストできません
  • Page Forms - {{#formlink}}, {{#forminput}}, {{#arraymap}} を追加します。
  • Simple Calendar - {{#calendar}} を追加します。
  • Variables - {{#var}}, {{#vardefine}}, {{#vardefineecho}} を追加します。

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

Which parser functions are available here?[]

Because different wikis can have different parser functions, it may be useful to figure out precisely what's on a particular wiki. Look on the Special:Version of your wiki for the full list.

関連情報[]

その他のヘルプとフィードバック[]