Replace

Replace[expr,rules]
expr 全体の変換をしようとするとき,規則または規則のリストを適用する.

Replace[expr,rules,levelspec]
levelspec で指定される expr の部分に規則を適用する.

Replace[rules]
式に適用可能なReplaceの演算子形を表す.

詳細とオプション詳細とオプション

  • 規則は,lhs->rhs またはlhs:>rhs の形式で与えられることが必要である.
  • リストになった規則を与えることもできる.この規則は,順に試行される.最初に適用されるものの結果が返される.いずれの規則も適用されない場合には,もとの expr が返される.
  • 規則がネストしたリストの中に与えられた場合,実質的に,Replaceは,内側のリストに写像されることになる.したがって,Replace[expr,{{r11,r12},{r21,},}]は,{Replace[expr,{r11,r12}],Replace[expr,{r21,}],}と同値である.
  • :>で定義された遅延型の規則には,/;条件を含むことができる.
  • Replaceは,標準的な形でレベル指定を行う.
  • nレベル 1 からレベル n
    Infinityレベル 1 から Infinity
    All0を含む全レベル
    {n}レベル n のみ
    {n1,n2}レベル n1 からレベル n2
  • Replaceでの levelspec のデフォルト値は{0}で,これは式全体に当たる.
  • 正のレベル n は,n 個の指標で指定された expr のすべての部分からなる.
  • 負のレベル-n は,深さ nexpr のすべての部分からなる.
  • レベル-1は,数,シンボル,その他の下位区分を持たないオブジェクトからなる.
  • levelspec に複数のレベルが含まれている場合, 与えられた部分式中のより深いレベルの式が最初にマッチされる.
  • Heads->Trueというオプション設定では,Replaceは式の頭部と部分を含む.
  • 置換は,levelspecで指定された部分にHoldや関連するラッパーがある場合でも施される.
  • Replace[rules][expr]Replace[expr,rules]に等しい.

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

  (4)  (4)

Replaceはデフォルトで,完全な式のみに規則を適用する:

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

下位区分まではマップしない:

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

規則のリストは結果のリストを返す:

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

Replaceを演算子形で使う:

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

可能な置換を1つ適用する:

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

マッチする最初の規則を使う:

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

各規則を別々に適用する:

In[3]:=
Click for copyable input
Out[3]=
1988年に導入
(1.0)
| 2014年に修正
(10.0)