我的理解是,自Delphi 2009以来,编译器只接受数据类型Integer
.然而,也有大量的诸如物品实施例1和实施例2示出了混合的(!)的使用integer
和Integer
.AFAIK,Embarcadero网站专门使用Integer
(好!)但是关于Pascal的维基百科文章专门使用integer
.
不幸的是,我没有进入到另一个Pascal编译器,但德尔福7,可同时接收integer
和Integer
:
int1: Integer; int2: intEGER; // Allowed in Delphi 7 struct1: MyRecord; struct2: mYrEcOrD; // Also allowed => source of bugs!
有人可以告诉我Pascal是否正式区分大小写,以及这是否随最新的Delphi编译器而改变.
你的理解是不对的.除了外部互操作性(例如从DLL导入符号)外,所有版本的Delphi都接受任何数据类型和任何其他标识符的任何大小写.
与您的陈述相反,Pascal不区分大小写.所以Integer
并且integer
是相同的标识符.
该文件指出这如下:
由于Delphi语言不区分大小写,
CalculateValue
因此可以使用以下任何方式编写标识符:CalculateValue calculateValue calculatevalue CALCULATEVALUE
您在问题中链接到的维基百科文章说:
Pascal源中忽略了字母大小写.
一些作者更喜欢特定大写的事实绝不意味着编译器将不同的大写视为不同的标识符.它不是.
当然,大多数有经验的Pascal开发人员都会使用一致的大写.代码在一致且大写时更容易阅读,例如在使用Pascal案例命名约定时,向读者传达意义.
对我而言,这是设计为区分大小写的语言的动机.作为一般规则,如果开发人员关心某些事情,那么编译器也常常关心它.这样编译器就可以检查开发人员是否犯了错误.但Pascal的案例不敏感很久以前就确定了,并且由于兼容性的原因不会改变.