sdd*_*sdd 5 wolfram-mathematica
我真的不知道为什么输出代码:
State_Values = List[];
Print[Length[{}]]
Print[Length[State_Values]];
Run Code Online (Sandbox Code Playgroud)
是:
0
2
Run Code Online (Sandbox Code Playgroud)
无法提出任何理由.也许这是非常愚蠢的,但我看不到.谢谢.
Tim*_*Tim 10
不是傻瓜,但你犯了一个微妙的错误.下划线State_Values将其变为a Pattern,而不是a List.您可以使用该功能找到它Head[].
stateValues = List[];
Length[stateValues]
Length[{}]
Out[11]= 0
Out[12]= 0
Run Code Online (Sandbox Code Playgroud)
如您所见,这是正确和预期的.然而,介绍下划线,这一切都打破了:
state_Values = List[];
Length[state_Values]
Head[state_Values]
Head[stateValues]
Out[16]= 2
Out[17]= Pattern
Out[18]= List
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Mathematica的GUI版本,则会更加容易,因为它会以Pattern不同的方式突出显示变量.