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