Подстановка констант множественного типа
Когда правая часть оператор in является константой множест- венного типа, компилятор генерирует включение проверки с помощью команд CMP. Такие поставляемые проверки более эффективны чем код, генерируемый в противном случае соответствующими булевскими выра- жениями с использованием операций отношения. Например, оператор:
if ((Ch >= 'A') and (Ch <: 'Z')) or ((Ch >= 'a') and (Ch <= 'z')) then ...;
менее читаем и менее эффективен чем
if Ch in ['A'..'Z', 'a'..'z'] then ...;
Поскольку свертывание констант применяется к константам мно- жественного типа также как к константам других типов, можно ис- пользовать описания const без потери эффективности.
const Upper = ['A'..'Z']; Lower = ['a'..'z']; Alpha = Upper + Lower;
С учетом данных описаний оператор if генерирует тот же код, что и в случае предыдущего оператор if:
if Ch in Alpha then ... ;