Отрезок типа представляет собой диапазон значений из порядкового типа, называемого главным типом. Определение отрезка типа включает наименьшее и наибольшее значение в поддиапазоне.
Обе константы должны иметь один и тот же порядковый тип. Отрезки типов, имеющие вид a..b, предполагают, что a меньше или равно b.
Приведем примеры отрезков типов:
0..99
-128..127
club..heart
Переменная отрезка типа имеет все свойства переменных главного типа, однако ее значение на этапе выполнения должно принадлежать указанному интервалу.
Разрешение использования выражений-констант там, где стандартный Паскаль допускает только простые константы, приводит к некоторой синтаксической неоднозначности. Рассмотрим следующие описания:
const
X = 50;
Y = 10;
type
Color = (Red, Green, Blue);
Scale = (X - Y) * 2..(X + Y) * 2;
Согласно синтаксису стандартного Паскаля, если определение типа начинается с круглой скобки, то это перечислимый тип (такой как Color в данном примере). Однако Scale предназначен для определения отрезка типа. Решение состоит в том, чтобы переупорядочить первое выражение поддиапазона или задать другую константу, равную значению данного выражения, и использовать эту константу в определении типа:
type
Scale = 2 * (X - Y)..(X + Y);
Достарыңызбен бөлісу: |