Maxima 在返回时改变函数参数

Maxima 在返回时改变函数参数,maxima,Maxima,假设下面的例子 g(x):=block([], x:x+1 ); xx:1$; g(xx)$; xx; 这将输出1。如何让它输出2 编辑:我搜索了结合“按引用传递”的“maxima”,结果似乎并不表明“按引用传递”实际上是maxima中定义的东西,但如果你知道我的意思,那就是我想要的。你可以使用宏(生成maxima代码的实用程序) 我认为你的问题很简单,你有%和;在xx分配行中 以下是对我有效的方法: g(x):=block([], x:x+1 ); xx:1 g(xx) g(x)

假设下面的例子

g(x):=block([],
  x:x+1
);

xx:1$;
g(xx)$;
xx;
这将输出
1
。如何让它输出
2

编辑:我搜索了结合“按引用传递”的“maxima”,结果似乎并不表明“按引用传递”实际上是maxima中定义的东西,但如果你知道我的意思,那就是我想要的。

你可以使用宏(生成maxima代码的实用程序)


我认为你的问题很简单,你有%和;在xx分配行中

以下是对我有效的方法:

g(x):=block([],
  x:x+1
);
xx:1

g(xx)

g(x):=block([],
  x:x+1
);