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 这样的函数会生成一个 TemplateObject,它将指定一个合适的 InsertionFunction. 然后,该 InsertionFunction 由诸如 TemplateExpression 这样的构造继承:
在把结果插入到模板中之前,TemplateExpression[expr] 不会计算 expr,无论是否通常会在结果的那部分进行计算:
文本
Wolfram Research (2014),TemplateExpression,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TemplateExpression.html.
CMS
Wolfram 语言. 2014. "TemplateExpression." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/TemplateExpression.html.
APA
Wolfram 语言. (2014). TemplateExpression. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TemplateExpression.html 年