在Delphi中聲明變量使我想到了一個我無法理解的東西。Delphi保留字和標識符
問題是這樣的:聲明字符串,人們可以觀察到string
是一個保留字,同時宣佈其他數據類型,比如整數數據類型修飾符是不是保留字,但一個標識符(即Integer
,資本我這樣講)。實際上,Delphi允許你去定義Integer
,你發現它的定義包含在System單元中,但它只是代表性的,因爲有一條評論指出一些常量(如True
),標識符(如Integer
),函數和過程直接內置於編譯器中。
我無法弄清楚這個選擇背後的原因。
有人可以幫忙嗎?
string
和Integer
類型之間的區別的一點解釋。下面的代碼
type
Integer = Char;
var
I: Integer;
begin
I:= 'A';
ShowMessage(I);
end;
是正確的,按預期工作,而下一行
type
string = Integer;
給編譯時錯誤。
Delphi *不區分大小寫。 – 2012-01-03 14:29:50
是的,我知道。儘管Delphi不區分大小寫,但根據InfixCaps約定,它被認爲是一種很好的編程習慣。我也一樣, – 2012-01-03 14:33:51
+1,因爲這是一個有趣的問題,儘管可能沒有「明確的」答案。然而,我個人的猜想是,'string'類型被很多compuler魔法所包圍,所以它被提升爲'保留字'而不是'Ctrl +可點擊的內置類型'... – 2012-01-03 14:44:56