ReplaceAt

ReplaceAt[expr,rules,n]

rules を使って n 番目の要素を置換することで expr を変形する.

ReplaceAt[expr,rules,{i,j,}]

expr の位置{i,j,}の部分を置換する.

ReplaceAt[expr,rules,{{i1,j1,},{i2,j2,},}]

複数の位置の部分を置換する.

ReplaceAt[rules,pos]

式に適用可能なReplaceAtの演算子形を表す.

詳細

  • ReplaceAtは,通常,与えられた置換規則に基づいて,式の一つまたは複数の要素を変更するために使われる.
  • ReplaceAt[expr,rules,{i,j,}]rules を使って部分 expr[[i,j,]]を置換する.
  • ReplaceAt[expr,rules,{{i1,j1,},{i2,j2,},}]rules を使って部分 expr[[i1,j1,]], expr[[i2,j2,]], を置換する.
  • 規則は lhs->rhs または lhs:>rhs の形,あるいはそのような形のリストでなければならない.
  • 規則のリストを与えることができる.規則は順に試される.適用された最初の規則の結果が返される. 規則がどれも適用されなけれもとの式 expr が返される.
  • ReplaceAt[expr,patt:>new,pos]を使って部分を評価せずに置換できる.pattnew のような規則の場合は newpatt にマッチする各式について別々に評価される.
  • ReplaceAtは,ある部分が位置のリストで2回以上言及されている場合はその部分に置換規則を繰り返し適用する.
  • ReplaceAtが使う位置のリストは関数Positionが返すものと同じ形である.
  • ReplaceAtは,Partにおけるのと同じキー指定を使ってAssociationオブジェクトに使うことができる.
  • exprSparseArrayオブジェクトあるいは構造化配列なら,ReplaceAt[expr,]は対応する通常配列の部分を置換する.
  • ReplaceAt[rules,pos][expr]ReplaceAt[expr,rules,pos]に等しい.

例題

すべて開くすべて閉じる

  (9)

式の指定部分を規則を使って置換する:

複数の部分を置換する:

ネストした部分を置換する:

負の位置を使って末尾から数える:

パターンに基づいた置換を使う:

複数の置換規則を使う:

すべてのトップレベル部分(2番目の列)の2番目の要素を置換する:

Keyで指定された連想の部分を置換する:

ReplaceAtの演算子形を使う:

スコープ  (6)

式の単一要素:

負の数は末尾から数える:

レベル2の部分を置換する:

複数の部分を置換する:

複数のネストした部分を置換する:

Span構文を使う:

一般化と拡張  (4)

ReplaceAtは任意の頭部を持つ式に使うことができる:

連想内のKeyと整数の部分指定は異なる:

パート0を使って式の頭部の置換を行う:

ReplaceAtは疎な配列に使うことができる:

特性と関係  (7)

ReplaceAtPositionが返す部分のリストを使うことができる:

次は,Extractが返した部分式である:

ReplaceAtは置換規則にAssociationを使うことができる:

ReplaceAtは置換規則にDispatchオブジェクトを使うことができる:

ReplaceAtは,部分が繰り返し言及されている場合は置換規則を繰り返し適用する:

ReplaceAtはホールドされた置換は評価しない:

未評価の連想内のコードを操作する:

取り出すのと同時に評価する:

Unevaluatedを使って expr の評価前に置換を行う:

考えられる問題  (1)

式の構造が置換の間に変化することが予想されるなら,繰り返される置換部分は思いがけない結果をもたらすかもしれない:

Nestを使った場合と比較する:

この動作はReplacePartMapAtにも共通する:

Wolfram Research (2022), ReplaceAt, Wolfram言語関数, https://reference.wolfram.com/language/ref/ReplaceAt.html.

テキスト

Wolfram Research (2022), ReplaceAt, Wolfram言語関数, https://reference.wolfram.com/language/ref/ReplaceAt.html.

CMS

Wolfram Language. 2022. "ReplaceAt." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ReplaceAt.html.

APA

Wolfram Language. (2022). ReplaceAt. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ReplaceAt.html

BibTeX

@misc{reference.wolfram_2024_replaceat, author="Wolfram Research", title="{ReplaceAt}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/ReplaceAt.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_replaceat, organization={Wolfram Research}, title={ReplaceAt}, year={2022}, url={https://reference.wolfram.com/language/ref/ReplaceAt.html}, note=[Accessed: 21-November-2024 ]}