Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];




Вниз

data types and reserved words 


maxnovikov   (2002-04-08 11:45) [0]

Здравствуйте!
У меня два вопроса по основам Object Pascal.

1. Объясните пожалуйста, почему типы integer или double
в Object Pascal не являются ключевыми словами (reserved words)
языка, хотя string является таковым?

2. Этот код компилируется(!) и работает:

procedure f;
var
integer : string;
begin
integer := "abc";
end;

В Object Pascal уществует понятие базовых типов или что-то в
этом роде?

Спасибо.



MBo   (2002-04-08 12:47) [1]

именно потому, что их можно переопределить



maxnovikov   (2002-04-08 14:33) [2]

А где об этом сказано? Видимо я плохо смотрел Delphi Help?



Виктор Щербаков   (2002-04-08 14:42) [3]

В комментариях модуля System вот что сказано по этому поводу:
{ Predefined constants, types, procedures, }
{ and functions (such as True, Integer, or }
{ Writeln) do not have actual declarations.}
{ Instead they are built into the compiler }
{ and are treated as if they were declared }
{ at the beginning of the System unit. }



Anatoly Podgoretsky   (2002-04-08 15:00) [4]

В Object Pascal есть понятие базовые типы - это fundamental types и есть понятие обычных (родовых) типов generic types

Но все это не имеет отношения к зарезервированным словам, то есть словам которые яявляются частью языка.
integer к ним не относится, это предопределенный тип, просто Борланд заранее его определил и встроил его обработку в компилятор, но это не мешает его переопределить или использовать так как тебе захочется.

Только один тип является частью языка - это стринг из за его специфической реализации, но я бы его не назвал типов, это ближе к понятию array или set




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.02 c
1-57681           eSKey                 2002-04-03 17:58  2002.04.18  
Отдельный Font для каждой ячейки StringGrid и т.д.


1-57734           Sergey Karagodin      2002-04-05 09:21  2002.04.18  
Какое событие


1-57732           LazorenkoX            2002-04-04 21:58  2002.04.18  
Консоль вопрос 1


3-57605           mad0max               2002-03-27 04:49  2002.04.18  
XL Report


1-57747           Дима2                 2002-04-04 13:11  2002.04.18  
Программа