Pascal中的区分大小写(以Integer为例)

时间:2017-01-09 18:10:26

标签: delphi pascal

我的理解是,自Delphi 2009以来,编译器只接受数据类型def CalculateAveragesTotElementOverzicht(inputlist): resultlist = [0]*len(inputlist) for i in range(0,len(inputlist)): som = 0 for j in range(0,i+1): som += inputlist[j] average = som/(i+1) resultlist[i] = average return resultlist 。但是,有很多文章,如example 1example 2,显示Integerinteger的混合(!)用法。 AFAIK,Embarcadero websites专门使用Integer(好!),但Wikipedia article on Pascal专门使用Integer

不幸的是,我无权访问另一个Pascal编译器,但Delphi 7同时接受integerinteger

Integer

有人可以告诉我Pascal是否对官方区分大小写,以及这是否会随着最新的Delphi编译器而改变。

2 个答案:

答案 0 :(得分:11)

你的理解是不对的。所有版本的Delphi都接受任何数据类型和任何其他标识符的大小写,但外部互操作性除外,例如从DLL导入符号。

答案 1 :(得分:6)

与您的陈述相反,Pascal不区分大小写。因此Integerinteger是相同的标识符。

documentation声明如下:

  

由于Delphi语言不区分大小写,因此可以使用以下任何方式编写CalculateValue之类的标识符:

CalculateValue
calculateValue
calculatevalue
CALCULATEVALUE

您在问题中链接到的维基百科文章说:

  

Pascal源中忽略了字母大小写。

某些作者更喜欢特定大写的事实绝不意味着编译器将不同的大写视为不同的标识符。它不是。

当然,大多数有经验的Pascal开发人员都会使用一致的大写字母。代码在一致且大写时更容易阅读,例如在使用Pascal案例命名约定时,向读者传达意义。

对我来说,这是设计为区分大小写的语言的动机。作为一般规则,如果开发人员关心某些事情,那么编译器也常常关心它。这样编译器就可以检查开发人员是否犯了错误。但Pascal的案例不敏感很久以前就确定了,并且由于兼容性的原因不会改变。