Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BorlandPascal.doc
Скачиваний:
55
Добавлен:
17.03.2015
Размер:
2.83 Mб
Скачать

Описатели множества

Описатель множества определяет значения множественного типа

и получается путем записи выражений, заключенных в квадратные

скобки ([]). Каждое выражение определяет значение множества.

---- ----

описатель --->¦ [ +--T------------------------>¦ ] +--->

множества L---- ¦ ------------- ^ L----

L--->¦ группа +--T--

^ ¦ элементов ¦ ¦

¦ L------------- ¦

¦ ---- ¦

L----+ , ¦<---------

L----

------------

группа элементов -->¦ выражение +--T--------------------------->

L------------ ¦ ^

¦ --- ------------ ¦

L->¦..+-->¦ выражение +--

L--- L------------

Обозначение [ ] означает пустое множество, тип которого сов-

местим по присваиванию с типом любого множества. Любая группа

элементов, описанная, как х..у, объявляет элементами множества

все значения в диапазоне х..у. Если х больше, чем у, то х..у не

описывает никаких элементов и [x..y] обозначает пустое множество.

В конкретном описателе множества все значения выражения в

группах элементов должны быть одного порядкового типа.

Приведем некоторые примеры описателей множеств:

[red, C, green]

[1,5,10..K mod 12, 13, 23]

['A'..'Z', 'a'..'z', Chr(Digit+48)]

Приведение типа значений

Тип выражения можно изменить на другой тип с помощью приве-

дения типа значений.

-------------- ---- ---------- ----

приведение --->¦идентификатор+-->¦ ( +-->¦выражение+-->¦ ) +->

типа значения ¦ типа ¦ L---- L---------- L----

L--------------

Тип выражения и задаваемый тип должны оба иметь перечислимый

тип или тип указателей. Для перечислимых типов результирующее

значение получается путем преобразования выражения (и возможной

проверки на нахождение в допустимых границах). Преобразование мо-

жет привести к усечению или увеличению размера исходного значения

в том случае, если вновь определяемый тип отличается от типа вы-

ражения. В том случае, когда значение расширяется, его знак всег-

да сохраняется. Таким образом, значение является расширяемым по

знаку.

Синтаксис приведения типа значений почти совпадает с синтак-

сисом приведения типа переменных (см. раздел "Приведение типа пе-

ременных" в Главе 5). Однако при приведении типа значений опера-

ции производятся со значениями, а не с переменными и, таким

образом, могут не участвовать в ссылках на переменные. То есть за

приведением типа значения не обязательно следуют квалификаторы. В

частности, приведение типа значений не должно встречаться в левой

части оператора присваивания.

Некоторые примеры приведения типа значений включают в себя:

Intereg('A')

Char(48)

Boolean(0)

Color(2)

IntPtr(@Buffer)

BytePtr(Ptr($40,$49))

Соседние файлы в предмете Программирование на Pascal