Wolfram ResearchPRODUCTSPURCHASEFOR USERSCOMPANYOUR SITES
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.

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


 © 2009 Wolfram Research, Inc.  Terms of Use  Privacy Policy |
Sign up for our newsletter: