TagSet

f/:lhs=rhs

rhs 赋给 lhs,并将赋值和符号 f 相关联.

更多信息

  • TagSet 根据需要定义上值、下值或子值.
  • f/:lhs=rhs 中,符号 f 必须出现在 lhs 中,作为 lhs 的标头,相当于标头的标头,lhs 的元素之一,或元素之一的标头.
  • 一个普通的例子是 f/:h[f[args]]=rhs.
  • 您可以通过输入 ?symbol 查看与一个特殊符号相关联的所有规则.
  • 如果 flhs 中出现多次,则 f/:lhs=rhs 与每个出现的赋值关联.
  • 当它在未计算的符号形式中出现时,TagSet 被视为一个作用域,这样必要时会重命名嵌套结构中出现的相同变量.

范例

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

基本范例  (1)

定义一个符号的符号属性:

范围  (3)

不同类型的值  (3)

对于本身值,标签是多余的:

对于下值(downvalue),标签是多余:

用一个标签定义一个上值(Upvalue):

应用  (1)

构建一个汇率的数据库:

属性和关系  (5)

^= 定义上值(Upvalue),其方式和使用一个标签相同:

进行定义时,计算立即赋值的右边:

每次调用定义时,每次计算延迟定义的右边:

有相同左边的定义会覆盖之前的定义:

Definition 输出与符号相关联的定义:

Information 输出关于符号的各种信息,包括任何定义:

UpValues 返回对应定义的任何上值(upvalue)的规则列表:

=. 清除有特定左边的定义:

清除所有定义:

可能存在的问题  (2)

在存在全局变量的情况下,模式变量可能显示无法预计的行为:

预期的延迟赋值的行为:

将上值(upvalue)赋给下标变量:

下标变量和指针变量不同:

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

文本

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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