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

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

 
 Ответить  Открыть новую тему 
> случай вхождения элемента во множество, внутри оператора выбора case
marwell
сообщение 9.11.2012 20:09
Сообщение #1


Бывалый
***

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

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


доброго времени суток
сначала хотел создать тему в разделе теоретических вопросов о паскале, но раз уж пишу на Delphi, то решил что правильнее сюда написать. Так вот, появился вопрос, а как можно (если можно конечно) описать случай вхождения элемента во множество внутри оператора выбора case? например, есть множество
number: set of char;
, и по ходу программы надо внутри оператора выбора case предусмотреть случай вхождения элемента массива s типа string в это множество:

...
number:=['0'..'9', 'x'];
...
while i <= Length(s) do begin
case s[i] of
...
in number: begin
end_s:=end_s+s[i];
inc(i);
end;
...

такой способ конечно же не работает. использовать if ... then ... else в данном случае тоже не особо удобно. Может кто-нибудь даст совет?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
TarasBer
сообщение 9.11.2012 20:47
Сообщение #2


Злостный любитель
*****

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

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


Множество number является переменной.
В метках case можно писать только константы.

А вообще хороший вопрос - ведь синтаксис метки оператора выбора, с этими вот 1..3,5,10, очень похож на объявление множества. Но вот способа прямо записать имя константного множества в метке я не знаю.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
marwell
сообщение 9.11.2012 22:25
Сообщение #3


Бывалый
***

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

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


очень жаль, а ведь возможность как то так написать очень облегчила бы жизнь когда таких множеств с десяток, например
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 28.03.2024 23:53
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"