gpt4 book ai didi

wolfram-mathematica - 美元符号 $ 在内部有什么用?

转载 作者:行者123 更新时间:2023-12-01 14:21:50 33 4
gpt4 key购买 nike

内部使用的符号$是什么?

我指的不是复合形式 x$388$5 等,只是 $ 本身。

我想知道这是否是一个可以在符号中使用的有效对象,或者如果我这样做会破坏什么。

最佳答案

让用户变量以奇数个 $ 字符结尾(不包括第一个字符)是不明智的。 x$、y$$$ 和 $$ 都是变量名的糟糕选择。

这是因为将奇数个 $ 附加到标识符是一种称为“词法重命名”的技术,当高阶函数返回使用与它们相同的变量名的函数时,Mathematica 内核使用它来避免变量名冲突 parent 。这种技术用于各种范围构造,包括函数、模块、With 和规则;这是一个带有函数的例子:

In[1]:= f = Function[{x, y}, Function[{x}, x+y]]
Out[1]= Function[{x, y}, Function[{x}, x + y]]
In[2]:= f[2,3]
Out[2]= Function[{x$}, x$ + 3]
In[3]:= ?*`x$
Global`x$
Attributes[x$] = {Temporary}

简而言之,附加 $ 字符是一种系统内部重命名机制,这种形式的标识符被 Mathematica 识别为 $-less 形式的“词法重命名”版本,具有临时属性。不建议在自己的代码中使用这种形式的变量。

Mathematica 是一种术语重写语言,通过使用内部重写机制(例如“词法重命名”),它的行为类似于词法范围的函数式语言。

关于wolfram-mathematica - 美元符号 $ 在内部有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5957704/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com