Help:条件文
[Wikipedia|▼Menu]
記事の定義
ページサイズ
音声・動画の作成と利用
棒グラフの書き方
サンドボックス
ウィキポータル

この文書は、テンプレート等における条件文やその他の関数を定義しているMediaWikiのParserFunctions拡張機能を説明する文書です。条件文はすべて次のような文法を持っています。{{#関数名: 引数 1 。引数 2 。引数 3...}}

なお、ParserFunctions 拡張機能以外の関数は Help:マジックワード の方に記載されていますので、あわせて参照してください。
各関数

このモジュールには現在、expr, if, ifeq, ifexist, ifexpr, switch, time, timel, rel2abs, titleparts, iferror の 11 の関数が定義されています。

文法の説明は、{{#expr: <数式> }}

と書き、<> 内にはそこに書くべき内容を記しています。

使用例として

{{#expr: 1 + 2 }} = 3 (1 + 2 = 3)

と書き、使用例 = 出力 (理由)と記しています。
expr

expr 関数は、数式の演算を行います。文法は、{{#expr: <数式> }}
文字列形式

数値として扱える文字列以外は取り扱えません。一部はFormatnumで数値に変換が可能。詳細は「mw:Help:Magic_words/ja#整形」を参照
数値形式

サポートしている数値形式は、

形式例
数字のみ1234567890{{#expr: 1234567890 }} = 1234567890
カンマ付き数字1,234,567,890Formatnumを使用することで可能
{{#expr: {{Formatnum:1,234,567,890|R}} }} = 1234567890
小数123.456{{#expr: 123.456 }} = 123.456
分数1 + 2/3{{#expr: 1 + 2/3 }} = 1.6666666666667
指数表記123.456e7{{#expr: 123.456e7 }} = 1234560000
指数表記123.45678e12{{#expr: 123.45678e12 }} = 1.2345678E+14
指数表記123.45678E-12{{#expr: 123.45678E-12 }} = 1.2345678E-10
指数表記1.23456×109乗算演算子とべき乗演算子を使用することで可能
{{#expr: 1.23456 * 10^9}} }} = 1234560000

演算子の優先順位

サポートしている演算子の優先順位は、

演算子演算例
( )優先{{#expr: (30 + 7) * 7 }} = 259
+正符号{{#expr: 30 * +7 }} = 210
-負符号{{#expr: 30 * -7 }} = -210
not論理否定{{#expr: not 0 * 7 }} = 7
{{#expr: not 30 * 7 }} = 0
*乗算{{#expr: 30 * 7}} = 210
/除算(div と全く同じ){{#expr: 30 / 7}} = 4.2857142857143
div除算(/ と全く同じ){{#expr: 30 div 7}} = 4.2857142857143
mod剰余{{#expr: 30 mod 7}} = 2
+加算{{#expr: 30 + 7}} = 37
-減算{{#expr: 30 - 7}} = 23
round四捨五入
round の右に小数点以下の桁数を入れる{{#expr: 30 / 7 round 7}} = 4.2857143
=等号、左右は等しい{{#expr: 30 = 7}} = 0[正しくない]
<>不等号、左右は等しくない{{#expr: 30 <> 7}} = 1[正しい]
!=不等号、左右は等しくない、
排他的論理和{{#expr: 30?!= 7}} = 1
<小なり、左は右より小さい{{#expr: 30 < 7}} = 0
>大なり、左は右より大きい{{#expr: 30 > 7}} = 1
<=左は右以下{{#expr: 30 <= 7}} = 0
>=左は右以上{{#expr: 30 >= 7}} = 1
and論理積{{#expr: 30 and 7}} = 1
or論理和{{#expr: 30 or 7}} = 1

取り扱える他の演算子

この他、以下の演算子も使用できます。

演算子演算例
^
べき乗{{#expr: 4^2}} = 16
{{#expr: 2^7}} = 128
ln自然対数{{#expr: ln2}} = 0.69314718055995
abs絶対値。符号の除去{{#expr: abs1.2}} = 1.2
{{#expr: abs-1.2}} = 1.2
trunc小数点以下切り捨て{{#expr: trunc1.5}} = 1
{{#expr: trunc-1.2}} = -1
floor。引数以下の最大の整数{{#expr: floor 1.2}} = 1
{{#expr: floor -1.2}} = -2
ceil天井。引数より大きい最小の整数{{#expr: ceil 1.2}} = 2
{{#expr: ceil -1.2}} = -1
sin三角関数{{#expr: sin .1}} = 0.099833416646828
{{#expr: sin(30*pi/180)}} = 0.5
cos
tan
asin
acos
atan

真偽を求める演算子は、偽の時に 0 を、真の時に 1 を返します。

数は十進法で、小数点は "." で表します。E を用いた指数表記も使えます。内部の実装は IEEE 754倍精度小数です。

使用例として、{{#expr: (100 - 32) / 9 * 5 round 0 }} = 38これは、華氏温度を摂氏温度に変換し、整数に四捨五入します。
平方根

平方根を求めるときは Template:Root を利用します。

例: {{root|2}} = 1.4142135623731
if

if は、「もし ... ならば ... さもなくば ...」の構文です。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:39 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef