type valid_for_identifiers = 'a'..'z','A'..'Z','_','0..9';
У меня turbo pascal 7.0, но такая конструкция не работает(
Можно это как то испаравить или где она заработает (в кокой-то другой версии может)?
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
type lat_bukvy = 'a'..'z','A'..'Z'; -- не работает -- почему? |
udaaff |
Сообщение
#1
|
Гость |
В лекциях на intuit.ru встерчаются подобные конструкции --
type valid_for_identifiers = 'a'..'z','A'..'Z','_','0..9'; У меня turbo pascal 7.0, но такая конструкция не работает( Можно это как то испаравить или где она заработает (в кокой-то другой версии может)? |
udaaff |
Сообщение
#2
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Vitalik Репутация: 0 |
2 Алена
Пасиба за разъяснение. Я просто подумал, что может у меня pascal не такой как на intuin.ru)) ... Думаю, что это будет в рамках данной темы: предположим есть тип: superType = (elem_1, elem_2,... , elem_N); можно ли как-нибудь из этого типа создать тип subType, который бы содержал к примеру первый, пятый и десятый элементы? |
Lapp |
Сообщение
#3
|
|||
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
предположим есть тип: superType = (elem_1, elem_2,... , elem_N); можно ли как-нибудь из этого типа создать тип subType, который бы содержал к примеру первый, пятый и десятый элементы? Нет, в Паскале нет такой возможности. Встречный вопрос: а зачем она тебе? Обычно такие конструкции делаются в теле программы. Например, есть тип Year для любого года. И есть годы до нашей эры, годы нашей эры, в них средние века, возрождение - или, скажем, можно делить по векам. Проверка типа - это проверка на корректность выполняемого действия (операция с годами), и она производится на этапе компиляции. А принадлежность года к той или иной эпохе - это уже задача программирования, и она вычисляется в процессе работы программы. Если ты имеешь в виду range check, которая может работать и на этапе выполнения, то для перечислимых типов ее просто нету..
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
|||
Текстовая версия | 20.04.2024 15:40 |