Once

Once[expr]

在每个 Wolfram 语言会话中只计算 expr 一次,总是返回第一次计算的结果.

Once[expr,loc]

计算 expr 一次,并在持久性位置 loc 处缓存结果.

更多信息和选项

范例

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

基本范例  (1)

计算 Once 之内的表达式:

任何 Once[expr] 的后续计算只是返回之前的结果:

范围  (2)

对表达式进行一次计算,在本地文件中持续保存结果:

在每个前端会话中只对表达式进行一次计算:

内核重启后依然记得该数值:

选项  (2)

ExpirationDate  (1)

指定一个记住的值在明年开始时过期:

PersistenceTime  (1)

指定只记住 Once 的结果 5 秒:

指定时间之后,即重新计算:

应用  (2)

确保初始化文件只读一次:

只执行耗时计算一次,即使单元包含再次计算:

属性和关系  (3)

Once[Get[package]] 类似于 Needs[package] 并且只读程序包一次:

Once 具有属性 HoldFirst 并比较未计算的表达式:

查找 Once 计算的所有持续缓存结果:

删除这些结果:

可能存在的问题  (2)

Once[expr] 不会被重新计算,即使 expr 中的变量已经改变:

Unset[Once[expr]] 清除被记忆的值:

巧妙范例  (1)

Once 用于动态编程格式,把递归变成迭代:

找到缓冲值产生的数值:

在重做计时实验之前删除缓存的值:

Wolfram Research (2016),Once,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Once.html (更新于 2019 年).

文本

Wolfram Research (2016),Once,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Once.html (更新于 2019 年).

CMS

Wolfram 语言. 2016. "Once." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2019. https://reference.wolfram.com/language/ref/Once.html.

APA

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

BibTeX

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

BibLaTeX

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