XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
MaHBe

offline
Опыт: 5,910
Активность:
условия
Небольшой вопрос-если в ф-ции очень много условий, как лучше всего их записать? Если что, при неверности всех условий- ф-ция вернет фалс.
MaHBe добавил:
52 проверки
MaHBe добавил:
Сравнение интежера с числами(абсолютно разными)
Старый 23.09.2010, 21:35
Elf_Stratigo

offline
Опыт: 4,699
Активность:
дак дай нам посмотреть
можно наверно что-нибудь в дерево превратить...
Старый 23.09.2010, 22:08
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
Цитата:
Небольшой вопрос-если в ф-ции очень много условий, как лучше всего их записать?
в строчку.

bee добавил:
Если идет сравнение не по функциям, то проблем нету, а если есть функции, например: GetSpellAbilityId() == 'A000' or GetSpellAbilityId() == 'Aacb' or GetSpellAbilityId() == 'Axxx' и т.д., то надо заносить часто используемые функции в локалку.

С числами же все в порядке.
Еще одно решение - заносить более важные проверки в начало. То есть если допустим ты проверяешь юнита на типы классов, а потом оказываеться, что он мертв, а тебе нужен в фильтре живой, то ты делал фактически бесполезные проверки. Вывод: заносить проверку на живучисть в начало if'a.
Старый 24.09.2010, 01:57
MaHBe

offline
Опыт: 5,910
Активность:
Все проверки одинаковы. А случайно древо делать не надо?
MaHBe добавил:
У меня была мысль сравнивать поочереди,что инт больше самого большого и так далее.
Старый 24.09.2010, 06:55
Elf_Stratigo

offline
Опыт: 4,699
Активность:
MaHBe:
А случайно древо делать не надо
тебе же для оптимизации?
сделай так, чтобы число операций в лучшем случае ~ в худшем, если всё имеет одинаковую вероятность
если есть наиболее вероятные проверки, вынеси их вперёд
Старый 24.09.2010, 07:31
ScorpioT1000
Работаем
online
Опыт: отключен
выложи числа, с которыми ты сравниваешь. древо имеет ассоциативный алгоритм построения и его нельзя построить, не имея данных )
Старый 24.09.2010, 08:04
MaHBe

offline
Опыт: 5,910
Активность:
Ок,буду дома-выложу.
Старый 24.09.2010, 08:18
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 22:00.