WOLFRAM言語チュートリアル

関数の変換規則

書式 x->value の変換規則を使った記号への値の置換えを「シンボルの値」で説明した.Wolframシステムの変換規則は,記号だけに対応したものではなくもっと一般的なものである.実際,どのようなWolframシステムの式でも,それに対応した変換規則を設けることが可能である.

x->3の変換規則を適用すると,式中のx3になる.
In[1]:=
Click for copyable input
Out[1]=
変換規則をf[x]に対して使うこともできる.この規則はf[y]には作用しない.
In[2]:=
Click for copyable input
Out[2]=
f[t_]はパターンを表し,fが実際に取る引数は何でもよい.
In[3]:=
Click for copyable input
Out[3]=

変換規則の最も強力な面は,文字通りの変数や関数だけでなく,パターンに基づいたものであってもよいことである.ここで,パターンとは,例えば,ブランク(_)を含むf[t_]のような式を指す.ブランクはどんな式でも代替することができる.つまり,f[t_]に対する変換規則は,どんな引数を取っても有効である関数fの変換の仕方を指定する.これに対して,f[x]に対応したブランクなしの変換規則は,記述通りの式f[x]しか変換することができない.f[y]の変換に関しては何の効果も持たない.

また,f[t_]:=t^2のような関数定義を与えるときは,f[t_]->t^2の変換規則を必要な際に適用するようにWolframシステムに命令しているに過ぎない.

どんな形の式にも変換規則を設定することができる.
In[4]:=
Click for copyable input
Out[4]=
x^p_に関する変換規則を適用する.
In[5]:=
Click for copyable input
Out[5]=

任意の式へのパターンおよび変換規則の設定は,「パターン」「変換規則と定義」で詳しく説明する.ここでは,Wolframシステムにおいてすべての式は特定のシンボル的な構造を持っており,また,そのため,変換規則を使うことで式の構造のどの部分でも変換することができる,というだけにとどめる.