我正在使用 sandbox.open.wolframcloud.com。我定义了一个函数 f[x],它应该返回 x 的后继,例如 f[1] 应该返回 2。但是,我得到 f[1] 作为输出。我读过关于 Evaluate[] 但它似乎没有帮助:
In[5]:= f[x] := Evaluate[x+1]
In[7]:= Evaluate[f[1]]
Out[7]= f[1]
我在这里做错了什么?
我正在使用 sandbox.open.wolframcloud.com。我定义了一个函数 f[x],它应该返回 x 的后继,例如 f[1] 应该返回 2。但是,我得到 f[1] 作为输出。我读过关于 Evaluate[] 但它似乎没有帮助:
In[5]:= f[x] := Evaluate[x+1]
In[7]:= Evaluate[f[1]]
Out[7]= f[1]
我在这里做错了什么?
没有必要Evaluate
。在 Wolfram 语言中定义函数时,必须在参数名称后使用下划线。
f[x_] := x+1;
那是因为它需要x
是一个匹配的模式。否则,语言只是将x
其视为符号。欲了解更多信息,请参阅有关在 Wolfram 语言中定义函数的页面。