Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как в Swith/case сделать От и До? (http://www.flasher.ru/forum/showthread.php?t=147184)

cfanya 28.11.2010 15:16

Как в Swith/case сделать От и До?
 
Подскажите пожалуйста, как при помощи switch/case сделать что-то вроде:

Код AS3:

switch (name)
{
case name > 10:
        rnd = 15;
break;
 
case name > 50:
        rnd = 20;
break;
}

Т.е. чтобы каждый case был равен не одному числу, а целому интервалу чисел. Например, от 1 до 10, от 11 до 20 и т.д.
Ну не перечислять же все цифры подряд - 12,13,14,15...

Заранее спасибо за ответ.

P.S.:Только начинаю разбираться а AS3.

КорДум 28.11.2010 15:19

Проще взять if-else-if.
Код AS3:

if (name > ... && name < ...) ...
else if (name > 50) ...

Код AS3:

switch (name)
{
case name > 10:
        rnd = 15;
break;
 
case name > 50:
        rnd = 20;
break;
}

А это запись вообще неправильная.

bav 28.11.2010 15:20

Можно воспользоваться конструкцией if else if:
Код AS3:

if (name >= 1 && name <= 10) {...}
else if (name > 10 && name <= 20) {...}
else if (name > 20 && name <= 30) {...}

Но что-то мне подсказывает, что есть менее копипастные способы.

cfanya 28.11.2010 15:23

Цитата:

А это запись вообще неправильная.
Да, я знаю. Оно и не работает. Просто для примера привел.

Цитата:

Можно воспользоваться конструкцией if else if
Спасибо.

Цитата:

Но что-то мне подсказывает, что есть менее копипастные способы.
Вот их и ищу... Просто не хочется уж слишком растягивать программу по размеру.

iNils 28.11.2010 15:29

Если интервал равномерный или есть закономерность, то можно вывести формулу.

cfanya 28.11.2010 15:32

Цитата:

Если интервал равномерный или есть закономерность, то можно вывести формулу.
Интервал равномерный. Вы не могли бы чуть-чуть поподробней, насчет формулы...

cleptoman 28.11.2010 16:01

ну, если принципиально switch, то примерно так:

Код AS3:

switch(true){
case (name > 0 && name <=10):
//
break;
case (name > 10 && name <=50):
//
break;
}


iNils 28.11.2010 16:03

Цитата:

Сообщение от cfanya (Сообщение 953142)
Интервал равномерный. Вы не могли бы чуть-чуть поподробней, насчет формулы...

Могу, только дайте больше информации. Из первого поста не ясна закономерность.

cfanya 28.11.2010 16:53

Цитата:

ну, если принципиально switch, то примерно так:

Код AS3:

switch(true){
case (name > 0 && name <=10):
//
}


В том то и дело, что так не работает.

Цитата:

Могу, только дайте больше информации. Из первого поста не ясна закономерность.
Вот:
Код AS3:

switch (time)
{
case 0: sTime = "Ночь"; break;
case 1: sTime = "Ночь"; break;
case 2: sTime = "Ночь"; break;
case 3: sTime = "Ночь"; break;
case 4: sTime = "Ночь"; break;
case 5: sTime = "Ночь"; break;
case 6: sTime = "Утро"; break;
case 7: sTime = "Утро"; break;
case 8: sTime = "Утро"; break;
case 9: sTime = "Утро"; break;
case 10: sTime = "День"; break;
case 11: sTime = "День"; break;
case 12: sTime = "День"; break;
case 13: sTime = "День"; break;
case 14: sTime = "День"; break;
case 15: sTime = "День"; break;
case 16: sTime = "День"; break;
case 17: sTime = "День"; break;
case 18: sTime = "Вечер"; break;
case 19: sTime = "Вечер"; break;
case 20: sTime = "Вечер"; break;
case 21: sTime = "Вечер"; break;
case 22: sTime = "Ночь"; break;
case 23: sTime = "Ночь"; break;
}


gloomyBrain 28.11.2010 17:01

Тогда уж вот так
Код AS3:

switch (time)
{
case 0: sTime = "Полночь"; break;
case 1:
case 2:
case 4:
sTime = "Глубокая ночь";
break;
 
case 5:
case 6:
sTime = "Рассвет";
break;
 
case 7:
case 8:
sTime = "Утро";
break;
 
case 9: sTime = "Позднее утро"; break;
case 11: sTime = "Ранний день"; break;
case 12: sTime = "Полдень"; break;
 
case 13:
case 14:
case 15:
case 16:
sTime = "День";
break;
 
case 17: sTime = "Ближе к вечеру"; break;
case 18: sTime = "Ранний вечер"; break;
 
case 19:
case 20:
case 21:
sTime = "Вечер";
break;
 
case 22:
case 23:
sTime = "Ночь";
break;
}



Часовой пояс GMT +4, время: 18:26.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.