|
A.5.2 割当て

Mathematicaにおける2つの割当て式の基本型
割当てとは,式に対して変換規則を指定することである.割当て操作は必ず特定のシンボルに関して設けられる.

シンボルの種類に応じた割当ての仕方
f[args] = rhsのような割当て式を入力すると,fがまず検査され,次にfの頭部が,その次に引数の頭部が,というように割当て式を関連付けするシンボルが見つかるまで検査が続けられる.
一方,lhs ^= rhsのような割当て式を入力すると,左辺lhsの引数として与えられたシンボルか,またはその引数の頭部に対して変換規則を設ける.
シンボルsに関連付けられた変換規則は,決められた並び順で内部保管され,また,その順序に従い規則が適用される.新たな割当て定義を行うと,対応する変換規則はs関連の変換規則リストの末尾に加えられることになっている.ただし,次の場合はその限りではない.
変換規則式の左辺が定義済みリストにある変換規則に等しく,かつ,右辺に/;による条件があれば,それも等しいとき.この場合,新しい変換規則は古い規則と入れ替えられる.
新たな変換規則がすでに登録済みの古い規則より,より具体的な内容を備えており,また,古い規則の後におかれたなら使われることがない,とMathematicaが判断したとき.この場合,新規の規則は古い規則の手前におかれる.ある規則が他の規則に比べてより具体的かどうかが判別できないときがよくあるが,そのような場合には,新しい規則は常にリストの最後におかれる.
|