Wil*_*sch 9 evaluation wolfram-mathematica operator-precedence
如果我给Mathematica输入
TreeForm[Unevaluated[4^5]]
Run Code Online (Sandbox Code Playgroud)
我希望看到三个盒子 - 电源,4和5.
相反,我看到一个1024的单个框.任何人都可以解释?
Mr.*_*ard 18
A级Unevaluated
与各评价剥离,这样你就可以得到你想要什么:
TreeForm[Unevaluated@Unevaluated[4^5]]
Run Code Online (Sandbox Code Playgroud)
相比
TreeForm@Unevaluated[4^5]
Run Code Online (Sandbox Code Playgroud)
同
TreeForm@Hold[4^5]
Run Code Online (Sandbox Code Playgroud)
从帮助:
Unevaluated [expr]表示当expr作为函数的参数出现时未评估的形式.
和
Hold [expr]以未评估的形式维护expr.
所以,当Unevaluated [4 ^ 5]进入TreeForm ......它会被评估......
它的工作原理如下:
f[x_+y_]:=x^y;
f[3+4]
(*
-> f[7]
*)
f[Unevaluated[3+4]]
(*
->81
*)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
388 次 |
最近记录: |