ExpressionTree

ExpressionTree[expr]

expr の構造からのTreeオブジェクトを与える.

ExpressionTree[expr,struct]

struct によって指定されたデータと部分木を持つ式 expr の構造からのTreeオブジェクトを与える.

詳細とオプション

  • ExpressionTreeは,リスト,配列,規則,XML,および指定された任意の式からTreeオブジェクトが構築できる.
  • 次は,任意の式に対する struct の可能な形である. »
  • "HeadTrees"レベルごとの式の部分式の頭部に相当する木
    "Heads"レベルごとの式の部分式の頭部
    "Subexpressions"レベルごとの式の部分式
    "Atoms"レベル-1の式の原子部分式
    Nullレベルごとのデータのない式の部分式
    None式それ自体
  • ExpressionTreeTreeと同じオプションを取る.
  • 以下は,ExpressionTreeのそれ以外のオプションである.
  • Heads 式の頭部とその部分を部分木として含む
  • デフォルトのオプション設定がHeadsFalseの式 f[a,b][g[1,2],x]の可能な構造には以下がある.
  • オプション設定がHeadsTrueのこれらの構造には以下がある. »
  • 任意の式に対する struct のホールドされた形には以下がある.
  • "HeldHeadTrees"レベルごとの式の部分式のホールドされた頭部に相当する木
    "HeldHeads"レベルごとの式の部分式のホールドされた頭部
    "HeldSubexpressions"レベルごとの式のホールドされた部分式
    "HeldAtoms"レベル-1の式のホールドされた原子部分式
  • 次は,一般的な型の式に対する struct の可能な形である.
  • "XML"XMLオブジェクトのタグ,属性および要素
  • 次は,ネストしたリストと連想の struct の可能な形である. »
  • "List"ネストしたリストの要素
    "Association"ネストした連想の要素
    "Dataset"データ集合のヘッダとデータ
  • 次は,ネストした規則の struct の可能な形である. »
  • "Rules"ネストした規則の左辺と葉
    "JSON"JSONオブジェクトの名前と値,名前をデータとして使う
    "RawJSON"JSONオブジェクトの名前と値,名前をキーとして使う
    "FileSystem"ファイルシステム内のディレクトリとファイル

例題

すべて開くすべて閉じる

  (4)

式の構造から木を構築する:

頭部を含める:

使用する構造を指定する:

記号XMLから式を構築する:

未評価の式から木を構築する:

ネストした連想から木を構築する:

スコープ  (14)

任意の式  (6)

"HeadTrees"  (1)

AtomQ[head]Trueを与えるなら,ExpressionTree[head[arg1,arg2,],"HeadTrees"]は根が head を含み子がExpressionTree[argi,"HeadTrees"]で与えられる木を与える:

AtomQ[head]Falseを与えるなら,ExpressionTree[head[arg1,arg2,],"HeadTrees"]は根が head ではなくExpressionTree[head,"HeadTrees"]を含む木を与える:

頭部を含める:

ExpressionTree[atom,"HeadTrees"]は原子式 atom を含む葉を与える:

"Heads"  (1)

ExpressionTree[head[arg1,arg2,],"Heads"]は根が head を含み子がExpressionTree[argi,"Heads"]で与えられる木を与える:

頭部を含める:

ExpressionTree[atom,"Heads"]は原子式 atom を含む葉を与える:

"Subexpressions"  (1)

ExpressionTree[expr0[expr1,expr2,],"Subexpressions"]は根がexpr0[expr1,expr2,]を含み子がExpressionTree[expri,"Subexpressions"]で与えられる木を与える:

頭部を含める:

ExpressionTree[atom,"Subexpressions"]は原子式 atom を含む葉を与える:

"Atoms"  (1)

ExpressionTree[expr0[expr1,expr2,],"Atoms"]は子がExpressionTree[expri,"Atoms"]で与えられる木を与える:

頭部を含める:

ExpressionTree[atom,"Atoms"]は原子式 atom を含む葉を与える:

Null  (1)

ExpressionTree[expr0[expr1,expr2,],Null]は子がExpressionTree[expri,Null]で与えられる木を与える:

頭部を含める:

ExpressionTree[atom,Null]は原子式 atomNullを含む葉を与える:

None  (1)

ExpressionTree[expr,None]expr を含む葉を与える:

一般的な式  (1)

"XML"  (1)

記号XMLから木を構築する:

ネストしたリストと連想  (3)

"List"  (1)

ネストしたリストから木を構築する:

"Association"  (1)

ネストした連想から木を構築する:

"Dataset"  (1)

ネストしたリストと連想から木を構築する:

ネストした規則  (4)

"Rules"  (1)

ネストした規則から木を構築する:

"JSON"  (1)

JSON規則から木を構築する:

"RawJSON"  (1)

JSONの連想から木を構築する:

"FileSystem"  (1)

ファイル名をキーとするネストした連想から木を構築する:

オプション  (11)

Heads  (2)

デフォルトのオプション設定のHeadsFalseでは,式の頭部はどのレベルの部分としても含まれない:

HeadsTrueとすると,頭部が式の他の要素と同じように含まれる:

任意の式の構造は,デフォルトでは頭部を含まない:

頭部を含める:

個々の木の要素のスタイル付け  (2)

生成された木の要素のラベルを指定する:

部分木のラベルとスタイルを位置によって指定する:

木全体のスタイル付け  (4)

すべての部分木のラベルとスタイルを指定する:

基本スタイルを指定する:

辺と木の両要素の辺のスタイルを指定する:

基本スタイルと個々の木の要素のスタイルを指定する:

木のレイアウトとグラフィックスオプション  (3)

根の向きを指定する:

名前付きの埋込みを指定する:

Graphicsオプションを指定する:

アプリケーション  (1)

複雑な不定積分の構造から木を構築する:

特性と関係  (15)

式から木を構築する:

もとの式を得る:

木を式に変換する:

結果の式を木に変換し直す:

グループ化されたリストから木を構築する:

デフォルト構造の"HeadTrees"では,ExpressionTreeはデータを含む部分木が部分式の頭部の木構造を与える木を構築する:

構造"Heads""HeadTrees"と同じデータを表すがデータには部分式自体の頭部が含まれている木を与える:

ExpressionTree[expr,"Heads"]TreeForm[expr]に類似した出力を与える:

構造"Subexpressions""Heads"が与えるものと同じ形状の木に部分式の頭部ではなく部分式それ自体を含むデータを添えて与える:

頭部を除いてレベル n の式の部分に相当するレベル n の木の部分木:

頭部を含める:

構造"Atoms""Subexpressions"が与えるものと同じ形状の木を葉のノードにだけデータを格納して与える:

構造Nullは等しい形状でデータを持たない木を与える:

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

TreeFoldを使って各部分木の上に親ノードを挿入する:

これは式の引数へのマッピングに相当する:

Mapは,デフォルトで,式の引数にマッピングする:

式内の原子から木を構築する:

TreeFoldを使って各部分木の前に兄弟ノードを挿入する:

これは,式の中の部分式へのマッピングに相当する:

MapHeadsTrueで式の中の部分式にマッピングする:

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

TreeMapは木の中の部分木のデータにマッピングする:

これは式の中の頭部と葉へのマッピングに相当する:

Mapは頭部と葉に直接マッピングすることができる:

式の中の原子から木を構築する:

TreeMapは木の葉だけのデータにマッピングできる:

これは式の中の原子にマッピングすることに相当する:

Mapは式の中の原子に直接マッピングできる:

Depth[expr]TreeDepth[ExpressionTree[expr]]+1に等しい:

Depth[expr,HeadsTrue]TreeDepth[ExpressionTree[expr,"Subexpressions"]]+1に等しい:

ExpressionTreeは木を構築する前に部分式を評価する:

Unevaluatedを使って部分式の評価を木の構築後まで先送りする:

ホールドされた構造はすべての評価が行われないように部分式をHoldFormで包み込む:

HoldCompleteラッパーを示す:

不活性な式から木を構築する:

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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