Protect

Protect[s1,s2,]

对符号 si 设置 Protected 的属性.

Protect[patt1,patt2,]

保护所有名称在文字上与任意字符串模式 patti 匹配的符号.

Protect[{spec1,spec2,}]

保护与任意 speci 相等或名称匹配的符号.

更多信息

  • 在内置函数中添加你自己的规则的典型序列是 Unprotect[f];definition;Protect[f]. »
  • 可用含有元字符的字符串、StringExpression[]RegularExpression["regex"] 给出模式 patt. »
  • Protect 允许包含下列特殊字符的简写字符串模式:
  • *零个或更多字符
    @一个或更多字符,忽略大小写
  • Protect["context`*"] 保护特殊上下文中所有的符号. »
  • Protect["`*"] 保护当前上下文中的所有符号. »
  • Protect 不影响属性为 Locked 的符号. »
  • Protect 具有属性 HoldAll. »

范例

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

基本范例  (1)

定义并保护一个函数:

不能再改变函数定义:

范围  (7)

符号输入  (2)

保护几个符号:

使用符号和符号名称的组合:

只有 x3 还处于未被保护的状态:

使用模式  (5)

用字符串模式指定要保护的符号:

保护当前上下文中的所有符号

保护给定上下文中的所有符号:

StringExpression 保护当前上下文中所有由 2 个字符组成的符号:

符号 x1x2 被保护,但是 y 不受影响:

RegularExpression 保护当前上下文中所有由 3 个字符组成的符号:

应用  (2)

取消对系统符号的保护,以对其进行定义:

恢复保护:

保护软件包中的所有符号,但仍然允许在重新加载软件包时设置定义:

属性和关系  (6)

Protect[pattern] 用与 Protect/@Names[pattern] 一样的方式保护同一符号:

保护一个符号等价于设置 Protected 属性:

取消保护一个符号等价于清除 Protected 属性:

保护一个符号不影响其他属性:

Protect 返回实际保护的符号列表:

如果一个符号已受保护,它不再受到保护:

对于受保护的符号,不能做更多的定义:

要想修改受保护符号的定义,请先取消保护:

Protect 具有属性 HoldAll

下面的操作保护 symbol 自身:

下面的操作保护符号的值:

可能存在的问题  (2)

Protect 不影响锁定的符号:

在使用没有上下文标记的模式时,将保护 $ContextPath 上所有匹配的符号:

符号 Cxy 的保护被取消,同时几个系统符号的保护也被取消:

使用带有显式上下文标记的模式以避免可能与来自系统或其他上下文的符号匹配:

取消被错误保护的系统符号的保护:

Wolfram Research (1988),Protect,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Protect.html (更新于 2022 年).

文本

Wolfram Research (1988),Protect,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Protect.html (更新于 2022 年).

CMS

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

APA

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

BibTeX

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

BibLaTeX

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