我真的不知道为什么代码的输出:
State_Values = List[];
Print[Length[{}]]
Print[Length[State_Values]];
是 :
0
2
无法提出任何理由。也许这很愚蠢,但我看不到。谢谢你。
我真的不知道为什么代码的输出:
State_Values = List[];
Print[Length[{}]]
Print[Length[State_Values]];
是 :
0
2
无法提出任何理由。也许这很愚蠢,但我看不到。谢谢你。
不傻,但你犯了一个微妙的错误。中的下划线State_Values
将其变为 a Pattern
,而不是 a List
。您可以使用该功能找到这一点Head[]
。
stateValues = List[];
Length[stateValues]
Length[{}]
Out[11]= 0
Out[12]= 0
如您所见,这是正确的和预期的。但是,引入下划线,一切都会中断:
state_Values = List[];
Length[state_Values]
Head[state_Values]
Head[stateValues]
Out[16]= 2
Out[17]= Pattern
Out[18]= List
如果您使用的是 Mathematica 的 GUI 版本,则更容易查看它,因为它以Pattern
不同的方式突出显示变量。