为什么变量不能以数字开头,但可以以数字结尾?



在许多语言(C#,Javascript,CSS等)中,我无法声明此变量:

123test

但我可以声明这一点:

test123

它的真正原因是什么?

它简化了解析器。它可以通过令牌中的第一个字符判断它是标识符还是数字。

此外,浮点的语法可能如下所示:

123e45

这意味着 123x1045。如果标识符可以以数字开头,则可能会与变量混淆。

有些语言没有这个禁令,例如Common Lisp。它的规则本质上是令牌是一个符号,除非它可以解析为一个数字。由于它还允许自定义输入基数,因此它具有以下属性:令牌是数字还是符号取决于变量的设置(它还具有转义机制,允许您以一种或另一种方式强制它)。

因为这样一串数字就是一个有效的标识符和一个有效的数字。

int 17 = 497;
int 42 = 6 * 9;
String 1111 = "Totally text";

@skiphoppy的安斯发誓。

详细信息:为什么变量名称不能以数字开头?

相关内容

最新更新