TreeReplacePart

TreeReplacePart[tree,posnew]

treepos で指定される部分木が new で置換された木を与える.

TreeReplacePart[tree,{pos1new1,pos2new2,}]

posiで指定された位置の部分木を newiで置換する.

TreeReplacePart[tree,{pos1,pos2,}new]

posiで指定される位置のすべての部分木を new で置換する.

TreeReplacePart[tree,{{pos1,1,pos1,2,}new1,}]

{posi,1,posi,2,}で指定される位置の部分木を newiで置換する.

TreeReplacePart[posnew]

木に適用可能なTreeReplacePartの演算子形を表す.

詳細とオプション

  • TreeReplacePartを使うと,Treeオブジェクト内の任意のパターンにマッチする位置の葉として部分木を新たな部分木や一般的な式で置換することができる. »
  • TreeReplacePart[tree,{i,j,}new]は位置{i,j,}にある部分木を new で置換する.
  • TreeReplacePartTreePositionが返す位置指定やTreeInsertおよびTreeExtract等の関数が使う拡張された形の位置指定を使うことができる. »
  • 個々の位置指定 pos{part1,part2,}で与えることができる.以下を部分指定 partiに含めることができる.
  • ii 番目の子
    -i最後から i 番目の子
    {i1,i2,}部分番号 i1, i2, の子のリスト
    pattern部分番号が patt とマッチする子
    "key"キーが"key"の子
    Key[k]任意のキー k を持つ子
  • さまざまな長さの位置指定を表す__のような構造にはパターンを入れることができる. »
  • TreeReplacePart[tree,{p1,p2,}new]{p1,p2,}は,すべての piがリストの場合は個々の位置指定のリストと解釈される.{p1,p2,}は,それ以外の場合は個々の位置指定とみなされる. »
  • TreeReplacePartは,キーについてPartと同じ指定を使って,部分木のAssociationを含む木に使うことができる. »
  • TreeReplacePart[posnew][tree]TreeReplacePart[tree,posnew]に等しい.
  • TreeReplacePartにはTreeと同じオプションが使える.

例題

すべて開くすべて閉じる

  (5)

部分木を葉で置換する:

任意の位置の部分木を置換する:

複数の位置の部分木を置換する:

個々の位置を異なる部分木で置換する:

位置がパターンと一致する部分木を置換する:

TreeReplacePartの演算子形を使う:

スコープ  (5)

連想  (5)

連想を含む木の部分木をキーを使って置換する:

キーが文字列の場合,Keyラッパーはあってもなくてもよい:

連想を含む木の部分木をキーを使って置換する:

連想を含む木の部分木を位置を使って置換する:

連想を含む木のいくつかの部分木を置換する:

連想を含む木のネストした部分木を置換する:

連想を含む木のいくつかのネストした部分木を置換する:

特性と関係  (11)

パターンで可変長のリストの部分を表すことができる:

部分木をTreeオブジェクト以外の式で置換することは葉を挿入することに等しい:

x は葉

として挿入される:

Spliceを使って部分木をいくつかの部分木で置換する:

部分木は,置換,挿入,削除することができる:

式の中の頭部から木を構築する:

TreeReplacePartは木の部分木を置換する:

これは式の部分式を置換することに相当する:

ReplacePartは部分式を直接置換できる:

pos がリストではなければ.pos{pos}は同じ指定である:

明示的にリストではないパターン p は直接の子に対してマッチされる:

その場合は,p{p}に等しい:

位置{}を置換すると木全体が置換される:

TreeReplacePartは規則を与えられた順序で使う:

TreeReplacePartTreePositionが返す位置のリストを使うことができる:

次は,TreeExtractに返された部分木である:

TreeReplacePart[tree,{p1,p2,}new]は,すべての piがリストなら{p1,p2,}を個々の位置指定のリストとして扱う:

{{1,2},{3,4}}の場合は位置{1,2}{3,4}の部分木が置換される:

任意の piがリストではなければ,{p1,p2,}は位置指定のリストとして扱われる:

{{{1,2},{3,4}}}の場合は部分12の部分34が置換される:

考えられる問題  (2)

TreeReplacePartは既に存在する位置にのみ影響する:

TreeReplacePart[tree,{}new]は位置のリストが空なので任意の部分木を置換しない:

TreeReplacePart[tree,{{}}new]は位置{}を置換するが,これは木全体に相当する:

Wolfram Research (2021), TreeReplacePart, Wolfram言語関数, https://reference.wolfram.com/language/ref/TreeReplacePart.html (2024年に更新).

テキスト

Wolfram Research (2021), TreeReplacePart, Wolfram言語関数, https://reference.wolfram.com/language/ref/TreeReplacePart.html (2024年に更新).

CMS

Wolfram Language. 2021. "TreeReplacePart." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/TreeReplacePart.html.

APA

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

BibTeX

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

BibLaTeX

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