|
Set
lhs = rhsは,rhsを評価して,この結果をlhsに割り当てる.これ以降,lhsが現れるたびにrhsで置き換えられる.
 , , ... =  , , ... は, を評価して,この結果を対応する に割り当てる.
lhsには,パターンを含む任意の式を使用することができる.
f[x_] = x^2が典型的なパターンの割当てである._が左辺におかれているが,右辺にはおかれていないことに注意.
f[args] = rhsの形式の割当ては,シンボルfに結合された変換規則を設定する.
特定のシンボルに結合された異なる規則は,通常,与えられた順におかれる.新たに与える規則が既存の規則より特殊性が高いと判断された場合には,既存のものに先行しておかれる.規則が使用されるときには,この順にテストされる.
全く同じlhsを持つ新しい割当ては,既存のものに上書きされる.
?fやDefinition[f]を使ってシンボルfに結合されている割当てを見ることができる.
関数にFlatやOrderlessのような属性を割り当てる場合,関数に割当てを実行することに先駆けてこれらの属性を設定しなければならない.
Setの属性はHoldFirstである.
lhsがf[args]の形式で与えられる場合,argsが評価される.
特殊な関数の中には,s[f[args]]の割当てが,sの代りに自動的にfと結合されるものがある.このような関数としては, Attributes, Default, Format, MessageName, Messages, Nそして Optionsがある.
評価されないシンボル形式で現れるとき,Setは,スコープ構成 (A.3.8を参照)として取り扱われる.
lhs = rhsは,なんらかの理由で指定された割当てが実行できない場合でもrhsを返す.
$RecursionLimitのような大域変数には,一定の範囲,または値のクラスに限って割当てが可能である.
参照セクション:1.4.2, 2.5.5, 2.5.8 , A.5.2.
次も参照:TagSet,Unset,Clear,HoldPattern,DownValues.
バージョン1の新関数
他の例
|