我正在用 Delphi (XE) 编写一个小型控制台应用程序,并且错误地写道:
for I := 0to aList.Count-1 do
注意“0”和“to”之间缺少空格
直到运行程序后我才注意到这一点,我很惊讶编译器接受了这一点。这可能没什么大不了的,但这让我很好奇。
为什么 Delphi 接受这个拼写错误?
最佳答案
出于同样的原因,您不需要在 .
或 -
周围留有空格。由于 t
永远不会出现在任何可识别标记中的初始 0
之后,因此词法分析器只是将 0
作为整数文字标记返回,然后将 to
识别为不同的关键字标记。如果您犯了不同的错误 - for I := 0 to10
- 您现在就会遇到问题,因为 to10
被识别为有效标识符,这是非法的紧接在 0
之后。
关于delphi - 为什么 "for I := 0to aList.Count-1 do"缺少空格也能工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7871986/