値のリストの操作
シンボルの値の参照と割当て
定義された式は,すべて変換規則のリストとして保管される.特定のシンボルが参照されるとき,それに関連付けられた規則のリストが選択され,それらの規則がすべて試される.
ほとんどの場合,ユーザ定義に関係付けられた変換規則そのものに直接アクセスする必要はないだろう.その代り,単に
と lhs=.を使い,規則を追加したり削除したりすることができる.しかし,場合によっては,実際の規則に直接アクセスできると便利になる.

の定義式を作っておく.

に関する定義に対応している明示的な規則を参照する.
| Out[2]= |  |
DownValuesとUpValuesにより返される規則は,右辺と左辺がともに未評価の状態にある.左辺は評価保留の関数HoldPatternで覆われ,規則は遅延され,右辺は即時的には評価されない.
「関数の定義」で説明したように,特殊な定義は,より一般的な定義よりも先に適用される.しかし,一般に任意な定義式の間で優先順位をはっきりさせるのは困難である.さらに,Mathematica 内部で採用される順位ではなく,ユーザ自身で決定した順位を使いたい場合も出てくるだろう.これを行うには,DownValuesとUpValuesからリストで得られる規則を再構成すればよい.
オブジェクト

に関する定義を作る.
| Out[4]= |  |

の定義の並び順を逆にする.
| Out[5]= |  |