IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Отличие type и var, Отличие type и var
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


Всем добрый вечер, не могу никак понять, в чем разница между type и var? Скорее всего - я немного не допонял саму функцию type.
И я совсем запутался в порядковых типах данных, для чего они нужны? Как(не теоритически) можно проверить функцию, например, ord(x)? Заранее спасибо)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Цитата
Зацикленные целые множества (группы "по модулю") весьма часто бывают нужны. Встроенной поддержки их в языке Pascal нет.
Кстати, встроенной поддержки циклических перечислений, определенных пользователем, насколько я помню, нет нигде, хотя очень многие просят. В некоторых языках есть встроенные модульные типы (обладающие необходимым функционалом). Но пользоваться вариантом "описать модульный тип, а потом Sun, Mon, ... Sat - как константы этого типа" не очень удобно, проще переопределить функции Pred и Succ:

{$mode objfpc}
type
Week = (sun, mon, tue, wed, thu, fri, sat);

function Pred (Value : Week) : Week;
begin
if Value = Low (Week) then Pred := High (Week)
else Pred := System.Pred (Value)
end;

function Succ (Value : Week) : Week;
begin
if Value = High (Week) then Succ := Low (Week)
else Succ := System.Succ (Value)
end;

var
W : Week;

begin
W := sun;
writeln (W); // sun
W := Pred (W);
writeln (W); // sat
W := Succ (W);
writeln (W); // sun
W := Succ (W);
writeln (W); // mon
end.

, а когда в FPC наконец допилят дженерики хотя бы до того уровня, что есть сейчас в Дельфи - можно будет написать две шаблонные функции Pred и Succ и передавать в них параметры любых перечислимых типов.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
-notpron   Отличие type и var   5.07.2011 22:44
IUnknown   Type - это не функция. Это зарезервированное слово…   5.07.2011 23:03
-notpron   2 IUnknown А можно не на примере массивов? Просто …   5.07.2011 23:19
IUnknown   не на примере массивов? Ну, напечатай первые 10 че…   6.07.2011 0:36
-notpron   2 IUnknown Не, до циклов я дошел) И вы не правы - …   6.07.2011 0:55
IUnknown   Ты это "можете проверять" кому-нибудь др…   6.07.2011 2:07
-notpron   Не надо ругаться, спокойнее. Просто аргументирован…   6.07.2011 2:59
Lapp   Я извиняюсь за встрятие.. Не надо ругаться, споко…   6.07.2011 9:09
IUnknown   Кстати, встроенной поддержки циклических перечисле…   6.07.2011 14:37
-notpron   2 Lapp Я понимаю что манера говорить у всех своя, …   6.07.2011 15:18
Lapp   Чем вас не устраивает тег [cоde]? По-моему его мо…   7.07.2011 2:50
-TarasBer-   это тролль, не реагируйте   6.07.2011 18:52
-notpron   Не надо оффтопить, есть что сказать по теме - скаж…   6.07.2011 18:56
-TarasBer-   канонично...   6.07.2011 19:07
-notpron   Ну и сразу дурацкий вопрос - а как копипастить в t…   6.07.2011 20:13
sheka   .pas - текстовый документ. Создавай новые темы в н…   6.07.2011 21:27
-notpron   Ну про этот способ мне известно, но все равно спас…   6.07.2011 21:41
-notpron   2 Lapp 2. Все тексты фрагментов программ должны по…   7.07.2011 22:52
Lapp   2. Все тексты фрагментов программ должны помещатьс…   8.07.2011 2:21


 Ответить  Открыть новую тему 
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 17.06.2024 4:10
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name