Mathematica 9 is now available

Documentation / Mathematica / Mathematicaブック / Mathematicaの仕組み / パターン /

2.3.6 多者択一型のパターン

多者択一パターンの指定

関数hを,その引数がaまたはbのときだけにpを返す関数として定義する.

In[1]:= h[a | b] := p

最初の2つだけがpを返す.

In[2]:= {h[a], h[b], h[c], h[d]}

Out[2]=

変換規則にも択一選択の条件を使うことができる.

In[3]:= {a, b, c, d} /. (a | b) -> p

Out[3]=

もう1つ例を挙げる.今度は,選択肢の1つがパターンであることに注目.

In[4]:= {1, x, x^2, x^3, y^2} /. (x | x^_) -> q

Out[4]=

択一選択型のパターンを構築するときは,すべてのパターン候補に対して同じ名前を使うようにする.(a[x_] | b[x_])のようなパターンが式にマッチするとき,オブジェクトxに対応する確定した式が必ずある.これに対して,(a[x_] | b[y_])のようなパターンでマッチさせようとすると,確定した式はあるが,それは,xまたはyのどちらかにしか対応せず,両方には対応しない.このため,例えば,変換規則の右辺においてxyの両方を使うと,確定した式を参照することはできない.

ここで,fは,abのどちらかの頭部を表す名前として使われている.

In[5]:= {a[2], b[3], c[4], a[5]} /. (f:(a|b))[x_] -> r[f, x]

Out[5]=



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.