level 3
Print指令下,变量名直接就替换成赋值的结果了。
请教如何能输出变量名呢?因为要处理的变量很多,并且希望能跟踪变量执行的结果,所以程序上不方便手动输入变量名的字符串。
谢大家指点
2019年05月14日 11点05分
1
level 3
好烦躁呀,吧主大神的支招,ToString@Unevaluated@x,和HoldForm@x,却不能用在自定义函数里。
比如自定义一个判断函数Logx[x1_] := If[TrueQ[N[x1 /. x -> -1] < 0], Print@HoldForm@x1; Return[Log@(-x1)], Return[Log@x1]]
对X = x^3; 执行Logx@X的Print输出是x^3,而不是我想要的X。
我有好几十个这种X需要记录,有的X表达式还很长,不能跟踪变量名,不是要我命吗?感觉挺常用的一个功能,MMA为何这么难实现呢?
2019年06月03日 03点06分
4
我能说你会在这个时间点上大量需要这个功能极不正常吗。结合你上一帖对Goto的使用,你现在大概率是在错误的方向上高歌猛进。
2019年07月06日 06点07分
吧务
level 12
SetAttributes[Logx, HoldAll]
2019年06月03日 04点06分
5
好像可以了,我再试试其它赋值判断会不会受影响,谢谢你!
2019年06月03日 06点06分
解决了,中国好吧主
![[爱心]](/static/emoticons/u7231u5fc3.png)
!
2019年06月03日 07点06分