HoldPattern

HoldPattern[expr]
パターンマッチにおいて式 expr に等しいものとして扱われるが,式 expr は評価保留の形に保持する.

詳細詳細

  • HoldPatternは,属性HoldAllを持つ.
  • 割当て式において左辺が評価されるのと同様に,規則においても通常左辺は評価される.そこでHoldPatternを適用することで,左辺のどの部分でも評価不可にすることができる.

例題例題すべて開くすべて閉じる

  (4)  (4)

左辺が未評価に保たれるパターンを設定する:

In[1]:=
Click for copyable input
Out[1]=

このパターンを使う:

In[2]:=
Click for copyable input
Out[2]=

の引数が評価されないように定義する:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]=

Log[a,b]は自動的に評価されてLog[b]/Log[a]になるので,マッチする:

In[1]:=
Click for copyable input
Out[1]=

Cases[e,patt->rhs]patt にマッチする要素を求める.HoldPatternを使って規則を求める:

In[1]:=
Click for copyable input
Out[1]=
1996年に導入
(3.0)