【发布时间】:2014-03-09 11:34:45
【问题描述】:
在许多语言(C#、Javascript、CSS 等)中,我无法声明此变量:
123test
但我可以这样声明:
test123
真正的原因是什么?
【问题讨论】:
标签: string variables numbers declaration
在许多语言(C#、Javascript、CSS 等)中,我无法声明此变量:
123test
但我可以这样声明:
test123
真正的原因是什么?
【问题讨论】:
标签: string variables numbers declaration
它简化了解析器。它可以从令牌中的第一个字符判断它是标识符还是数字。
另外,浮点的语法可以是这样的:
123e45
这意味着 123x1045。如果标识符可以以数字开头,这可能会与变量混淆。
有些语言没有这个禁令,例如 Common Lisp。它的规则本质上是令牌是一个符号,除非它可以被解析为一个数字。由于它还允许自定义输入基数,因此它具有标记是数字还是符号取决于变量设置的属性(它还具有允许您以一种或另一种方式强制它的转义机制)。
【讨论】:
因为这样一串数字既是一个有效的标识符,也是一个有效的数字。
int 17 = 497;
int 42 = 6 * 9;
String 1111 = "Totally text";
@skiphoppy的回答。
【讨论】: