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