case vs. switch

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Аватара пользователя
AiK
Сообщения: 2274
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

30 июн 2004, 13:51

Можно ли добиться от case такого же поведения, как у switch (из Ц, к примеру), когда в нём не используются break?

На всякий случай пояснения:

Код: Выделить всё

switch (a){
    case 1: b+=1;
    case 2: b+=12;
    case 3: b+=123;
    case 4: b+=1234;
}

в вышеприведённом примере если а = 2, то выполнятся три последних присваивания b. В Delphi case работает как switch, только с break после каждого statement'а. Т.е. если а=2, то выполнится единственное присваивание. Если нельзя изменить поведение case, то как наиболее оптимально эмулировать поведение switch?
Даже самый дурацкий замысел можно воплотить мастерски
Аватара пользователя
AiK
Сообщения: 2274
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

30 июн 2004, 14:01

Блин. Я просто тормоз :)

Код: Выделить всё

for i:=a to n do
case i of
1: inc(b,1);
5: inc(b,8);
n: inc(b,188);
end;
З.Ы: inc(b,xxx) взяты от балды, они тут роли не играют.
Даже самый дурацкий замысел можно воплотить мастерски
Ответить