Edit: 我的意思是“ 1foo”或“ 23bar”之类的变量,不仅是“ 3”
之类的数字由于大多数语言中的Lexer会假定您正在尝试指定数字字面的字面。 然后,您可以声明与数字文字有可能与众不同的变量,从而造成了巨大的模棱两可。
流行测验:在一种假设的语言中,允许变量以一个数字开头,这是什么?在C(及相关语言)这只能是十六进制的数字。 如果语言允许变量名称以数字开头,则可能是变量或十六进制数字。 这是可能数百万的快速例子。
numbers被解释为“原样”,而没有任何语法,而字符串/字符大多用引号表示。因此,程序可以理解包含字符和字符串字符串的变量名称之间的差异,但与数字相同。
int 10 = 15;
int 15 = 10 + 5;
在第二行,是10变量保存数字字面15,还是数字文字10?
其他原因是,允许变量名称以数字开头使编译过程中的错误检查更为复杂,而无需带来任何合理有用的内容。
Prolog/Erlang没有可变分配,它们具有统一。 iirc,如果x是一个变量,则按照x的值2为2。从那时起,X变为2。因此,写作
2 = X
很好 - 它应该变成一个no -op,并且总是失败 - prolog中的不匹配或(我认为)Erlang中的运行时错误。数字的行为就像已经统一的变量与数字所代表的值统一的变量。在早期的fortran(对于二十年来没有使用fortran并忘记其语法的道歉),所有函数参数均通过引用传递,因此,如果您具有相当于
X = 2
3 = 3
因此,只要它们自动初始化到文字的值,就可以具有与数字相同的变量。但是,如果您允许它们变为纯粹的变量,那么怪异的变量。
由于4T表示4乘以T,将其用作可变冲突与4t的表达式。例如,8N与n发生冲突(我们将8N写为8次N倍),因此它与数学表达相冲突。如果Excel与现有单元格发生冲突,则不允许像GN23423这样的变量。这意味着Excel中有1,048,576行,Excel中有16,384列。如果它仅包含一个字母字符串和一个数字(以一个或多个字母的字符串和字母之后的一个或多个数字开始),请确保数字大于1,048,576,并且字母在XFD之后。诸如snow329之类的变量是有效的,但不是IT104,因为Excel在可变名称中不敏感。