请问这种赋值方法的错误出在什么地方
mathematica吧
全部回复
仅看楼主
level 5
f /@ Range[10] = Range[10];
(*得不到想要的效果,但是先运算左边,即*)
{f[1], f[2], f[3], f[4], f[5], f[6], f[7], f[8], f[9], f[10]} =
Range[10];
(*就可以得到想要的效果*)
2020年11月20日 09点11分 1
吧务
level 10
这是因为Set具有属性HoldFirst,赋值是对Map[f, Range[10]]进行的。
可以写成Evaluate[f /@ Range[10]] = Range[10],或者(# = Range[10])&[f /@ Range[10]]。
2020年11月20日 10点11分 2
1