HoldAll
是一个属性,指定一个函数的所有自变量保持不计算的形式.
更多信息
- 用户可以使用 Evaluate 以可控方式计算带有 HoldAll 属性函数的自变量.
- 即使一个函数有 HoldAll 属性,默认情况下,出现在它自变量中的 Sequence 对象仍然会被压平,Unevaluated 封装会被剥除,且会使用和自变量相关的上值.
范例
打开所有单元关闭所有单元基本范例 (1)
应用 (3)
属性和关系 (13)
在符号上运算的函数通常需要 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 年