Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.11.2010, 17:04
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 11  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Сообщение от cfanya Посмотреть сообщение
Просто не хочется уж слишком растягивать программу по размеру.
Если использвать в каждом блоке только по одной строке, то if - else if можно писать без {}

Соответственно, такая конструкция будет ни чуть не больше конструкции с кейсами

Код AS3:
if  (name > 0 && name <=10) doSomethig();
else if (name > 10 && name <=50) doSomethingElse();

Старый 28.11.2010, 17:04
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 12  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
И где тут равномерность?
ночь 7 значения
утро 4
день 9
вечер 4
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 28.11.2010, 17:05
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 13  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Да и вообще:
Код AS3:
arrTime = ["Ночь", "Ночь", "Ночь", "Ночь", 
           "Ночь", "Ночь", "Утро", "Утро", 
           "Утро", "Утро", "День", "День", 
           "День", "День", "День", "День", 
           "День", "День", "Вечер", "Вечер", 
           "Вечер", "Вечер", "Ночь", "Ночь"];
sTime = arrTime[time];
__________________
тут я

Старый 28.11.2010, 17:09
TWETTI вне форума Посмотреть профиль Отправить личное сообщение для TWETTI Найти все сообщения от TWETTI
  № 14  
Ответить с цитированием
TWETTI
 
Аватар для TWETTI

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
Я бы сделал так:
Код AS3:
 
sTime = time > 5 && time < 10?"Утро":time > 9 && time < 19?"День":time > 18 && time < 23?"Вечер":"Ночь";

Старый 28.11.2010, 17:10
cfanya вне форума Посмотреть профиль Отправить личное сообщение для cfanya Найти все сообщения от cfanya
  № 15  
Ответить с цитированием
cfanya

Регистрация: Nov 2010
Сообщений: 21
Цитата:
Тогда уж вот так
Ну да, но хотелось количество case-ов сократить. Это тут их только 24, а иногда их бывает и гораздо больше.
Я думал, что можно написать что-то типа:
Код AS3:
switch(true){
case (name > 0 && name <=10):
//
}
Только, что бы работало

Старый 28.11.2010, 17:11
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 16  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
TWETTI, а вы потом быстро поймете, что у вас где? А представьте себя на месте новичка
__________________
тут я

Старый 28.11.2010, 17:13
RandomUser вне форума Посмотреть профиль Отправить личное сообщение для RandomUser Найти все сообщения от RandomUser
  № 17  
Ответить с цитированием
RandomUser

Регистрация: Mar 2006
Адрес: Odessa
Сообщений: 157
Может так будет проще?
Код AS3:
var dayTimes: Array = [
	["Ночь", 0, 5],
	["Утро", 6, 7],
	["День", 8, 20],
	["Вечер", 21, 22],
	["Ночь", 23, 23],
];
 
function getDayTime(time: int) : String
{
	for each (var t: Array in dayTimes)
	{
		if (time >= t[1] && time <= t[2]) return t[0];
	}
	return null;
}
__________________
Не всех война убила - многих покалечила

Старый 28.11.2010, 17:13
TWETTI вне форума Посмотреть профиль Отправить личное сообщение для TWETTI Найти все сообщения от TWETTI
  № 18  
Ответить с цитированием
TWETTI
 
Аватар для TWETTI

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
КорДум, тогда вот так понятнее будет.
Код AS3:
sTime = time > 5 && time < 10 ? "Утро": // Если время от 5 до 10 -> утро
        time > 9 && time < 19 ? "День": // Если время от 9 до 19 -> день
        time > 18 && time < 23 ? "Вечер": // Если время от 18 до 23 -> вечер
        "Ночь"; // Иначе ночь

Старый 28.11.2010, 17:13
cfanya вне форума Посмотреть профиль Отправить личное сообщение для cfanya Найти все сообщения от cfanya
  № 19  
Ответить с цитированием
cfanya

Регистрация: Nov 2010
Сообщений: 21
О! Всем спасибо. Я так понял, что if/else без {} действительно лучше и не сильно громоздко. И с массивом тоже класно. Всем большое спасибо.

Старый 28.11.2010, 18:01
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 20  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Цитата:
ну, если принципиально switch, то примерно так:

Код AS3:

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

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

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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