Объявление переменных в Delphi заставило меня задуматься над тем, чего я не могу понять.
Вопрос заключается в следующем: при объявлении строк можно заметить, что string
является зарезервированным словом, а при объявлении других типов данных, скажем, целых, спецификатор типа данных является не зарезервированным словом, а идентификатором (т.е. Integer
, заглавная буква, которую я так говорю).
Фактически, Delphi позволяет перейти к определению Integer
, которое, как вы обнаруживаете, содержится в системном блоке, но оно является только репрезентативным, посколькукомментарий, в котором говорится, что некоторые константы (например, True
), идентификаторы (например, Integer
), функции и процедуры встроены непосредственно в компилятор.
Я не могу выяснить причины этого выбора.
Может ли кто-нибудь помочь?
Небольшое объяснение различия между типами string
и Integer
.Следующий код
type
Integer = Char;
var
I: Integer;
begin
I:= 'A';
ShowMessage(I);
end;
правильный и работает как положено, а следующая строка
type
string = Integer;
выдает ошибку времени компиляции.