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