PersistentSymbol
PersistentSymbol["name"]
表示与键 "name" 关联的永久符号.
PersistentSymbol["name",loc]
表示与存储在永久位置 loc 上的 name 相关联的永久符号.
PersistentSymbol["name",{loc1,…}]
表示与出现在 loci 的第一个位置上的 name 相关联的永久符号.
更多信息和选项
- PersistentSymbol["name",…] 计算得出相应的永久值.
- PersistentSymbol["name",…]=value 设定永久值.
- PersistentSymbol 允许以下选项:
-
MergingFunction Automatic 函数应用于找到的值列表 ValuePreprocessingFunction Identity 函数应用于要分配的新值 ExpirationDate None 该值应何时到期 PersistenceTime None 该值应持续多长时间 - 在 PersistentSymbol["name",loc]中,永久位置 loc 的可能格式包括:
-
PersistenceLocation["type"] "Local"、"Cloud"、"FrontEndSession" 等的位置 "type" 等价于 PersistenceLocation["type"] PersistenceLocation["type","base"] 特殊基(目录等)的位置 "type""base" 等价于 PersistenceLocation["type","base"] - 支持的位置类型包括:
-
"KernelSession" Wolfram 语言内核的当前调用 "FrontEndSession" Wolfram 笔记本前端的当前调用 "Notebook" 正在执行当前计算的笔记本 "Local" 基于用户主目录的计算机本地 "LocalShared" 基于 $BaseDirectory 的计算机本地 "Cloud" 在由当前 $CloudBase 定义的云端 "Installation" 安装默认值 - PersistentSymbol["name"] 等价于 PersistentSymbol["name",$PersistencePath].
- PersistentSymbol["name"]=value 等价于 PersistentSymbol["name",$PersistenceBase]=value.
- PersistentSymbol["name",loc] 实质上是 PersistentObject["name",loc]["Value"].
- 当指定单个永久位置时,例如在 PersistentSymbol["name",loc,…] 中,则不使用 MergingFunction 的设置.
- 在其他情况下,通过设置 MergingFunction->f,返回的最终值是将函数 f 应用于在所有永久位置找到的值列表的结果.
- 除非通过 PersistentObject 中的 "MergingFunction" 元数据另外指定,否则 MergingFunction->Automatic 等价于 MergingFunction->First.
- 在以 PersistentSymbol[sym]=value 分配新值之前,任何指定的值预处理函数都将应用于 value ,然后再分配该值.
- 如果预处理函数返回 $Failed,则不执行赋值.
- 如果没有为 ValuePreprocessingFunction 给出显式设置,则在 $PersistencePath 上查找要使用的设置.
- 过期的永久符号被视为不存在,且底层永久对象可能会被删除.
- 永久符号可以使用 Remove 去除. Remove[PersistentSymbol["name"]] 等价于 Remove[PersistentSymbol["name",$PersistenceBase]].
范例
打开所有单元关闭所有单元基本范例 (3)
检索 $PersistencePath 上所有值的列表;
范围 (8)
持久性位置 (3)
在 "KernelSession" 位置创建的持久性符号在内核退出时消失:
在 "FrontEndSession" 位置创建的持久性符号在内核重启后仍然存在:
在 "Local" 位置的持久性符号存储在你的账户内的一个文件中:
这些符号储存在 $LocalBase 目录下,并可无限期地保留:
选项 (8)
MergingFunction (3)
列出 $PersistencePath 上键 "lval" 的所有现有值:
列出 $PersistencePath 上的所有现有值:
属性和关系 (5)
新的永久对象的默认位置由 $PersistenceBase 给出:
默认情况下,在 $PersistencePath 中给定的所有位置上搜索永久值:
通过设置 MergingFunction->Identity,找到的所有值都将在列表中返回:
用 PersistenceTime 指定的到期时间将转换为绝对到期日期:
永久值可以通过 Remove 删除:
可能存在的问题 (1)
默认情况下,Remove 仅删除由 $PersistenceBase 给定的位置中的值:
删除由 $PersistenceBase 给定的位置中任何位置可能存在的所有值:
文本
Wolfram Research (2021),PersistentSymbol,Wolfram 语言函数,https://reference.wolfram.com/language/ref/PersistentSymbol.html.
CMS
Wolfram 语言. 2021. "PersistentSymbol." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/PersistentSymbol.html.
APA
Wolfram 语言. (2021). PersistentSymbol. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/PersistentSymbol.html 年