TemplateExpression
TemplateExpression[expr]
テンプレートが適用されるまでホールドされ,適用後に評価される式を表す.
詳細とオプション
- TemplateExpressionは,属性HoldFirstを有する.
- TemplateExpressionは,通常,TemplateObject内に現れる.これは,StringTemplate,FileTemplate,XMLTemplate,NotebookTemplateで生成することができる.
- テンプレートが適用されると,TemplateExpression[expr]は,事実上,ifunc[expr]を評価した結果で置換される.ただし,ifunc はオプションInsertionFunctionの値である.このオプションは直接指定することも,他のテンプレート構造から継承されることもある.
- オプションInsertionFunctionのデフォルト値はInheritedである.これは,InsertionFunctionの値が,包み込んでいるテンプレート構造(多くはTemplateObject)から取られるべきであることを指定する.これが指定されていないと,Identityが使われる.つまり,expr が評価され,次に変更されずに挿入される.
- TemplateExpression[expr]では,expr 中の任意のTemplateSlot式の値は expr が評価される前に挿入される.これらの値はInsertionFunctionの設定には影響されない.
- 文字列として与えられた文字列テンプレートでは,TemplateExpression[expr]は<*expr*>として示すことができる.
- ファイルテンプレートでは,TemplateExpression[expr]は<*expr*>としてファイル中に示すことができる.
- <*…*>内では,出現する任意の#p…は,事実上,TemplateSlot[p,…]として解釈される.
- XMLテンプレートでは,TemplateExpression[expr]は<wolfram:expr> expr </wolfram:expr>として示すことができる.
- ノートブックテンプレートでは,TemplateExpressionは,ボタンを用いて挿入されることが多い.
例題
すべて開くすべて閉じるオプション (1)
InsertionFunction (1)
InsertionFunctionを使い,TemplateExpressionが挿入される前に適用する関数を指定する:
Inheritedのデフォルト値だと,InsertionFunctionはこれを含む任意のテンプレート構造から継承される:
TemplateExpressionのInsertionFunctionを指定すると,他の構造から継承された値が無効になる:
特性と関係 (1)
StringTemplateのような関数は,適切なInsertionFunctionを指定するTemplateObjectを生成する.このInsertionFunctionは,TemplateExpression等の構造によって継承される:
TemplateExpression[expr]は,評価が通常は結果のその部分で行われるかどうかとは無関係に,テンプレートに結果を挿入する前に expr を評価することはない:
テキスト
Wolfram Research (2014), TemplateExpression, Wolfram言語関数, https://reference.wolfram.com/language/ref/TemplateExpression.html.
CMS
Wolfram Language. 2014. "TemplateExpression." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/TemplateExpression.html.
APA
Wolfram Language. (2014). TemplateExpression. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/TemplateExpression.html