HoldAll

HoldAll

是一个属性,指定一个函数的所有自变量保持不计算的形式.

更多信息

  • 用户可以使用 Evaluate 以可控方式计算带有 HoldAll 属性函数的自变量.
  • 即使一个函数有 HoldAll 属性,默认情况下,出现在它自变量中的 Sequence 对象仍然会被压平,Unevaluated 封装会被剥除,且会使用和自变量相关的上值.

范例

打开所有单元关闭所有单元

基本范例  (1)

应用  (3)

许多具有作用域行为的函数都有 HoldAll 属性:

绘制函数列表,不同的函数使用不同的样式:

如果列表结构不明显,则不分别提供样式:

使用 Evaluate 使得列表结构清晰明显:

在列表中不同的向量值函数仍然会以不同的样式展示:

HoldAllUnevaluated 在计算发生时抑制符号计算:

求一个符号名的长度,即使它有一个值:

实现您自己的控制结构:

属性和关系  (13)

Hold 是一个带有属性 HoldAll 的容器:

在符号上运算的函数通常需要 HoldAll 属性:

没有这个属性,它们会在符号值上运算:

类似 Table 的控制结构会避免对它们的参数进行计算:

否则,全局值会干扰它们的操作:

Evaluate 强制计算一个 HoldAll 函数的参数:

强制执行一个延迟定义的右手侧的计算:

Unevaluated 临时处理一个函数,并当作该函数有 HoldAll 属性:

这是计算结果的完全形式:

这是计算前输入的完全形式:

抑制一个纯函数参数的计算:

对具有 HoldAll 属性的函数,依然存在序列连接:

使用容器 HoldComplete 抑制这样的转换:

导致这个行为的属性是 HoldAllComplete

替换操作可用在一个保持不计算的表达式上:

插入一个保持不计算的表达式:

NHoldAll 保护 N 的参数,否则以正常方式对它们进行计算:

HoldPattern 保护模式不进行计算,但不干扰模式匹配:

Wolfram Research (1988),HoldAll,Wolfram 语言函数,https://reference.wolfram.com/language/ref/HoldAll.html.

文本

Wolfram Research (1988),HoldAll,Wolfram 语言函数,https://reference.wolfram.com/language/ref/HoldAll.html.

CMS

Wolfram 语言. 1988. "HoldAll." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/HoldAll.html.

APA

Wolfram 语言. (1988). HoldAll. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/HoldAll.html 年

BibTeX

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

BibLaTeX

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