1

如果我有一个命名表达式,如何将其转换为函数?这是一个例子:

argx: 2*x;
f(x) := argx;

我希望这相当于:

f(x) := 2*x

但我知道我必须以某种方式强制“取消引用”或类似的东西argx

4

1 回答 1

4

有几种方法可以做到这一点。

(1)define(f(x), argx);

(2)f(x) := ''argx;

方法 (2) 仅在您使用顶级解释器时才有效,因为引号''(即两个单引号)仅在第一次解析表达式时应用。方法 (1) 在函数中有效,而 (2) 则无效,因此 (1) 更通用一些。但是,由于函数定义是全局的,因此在函数中定义命名函数的动机并不大。

于 2021-05-08T01:00:18.477 回答