Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA: вычисление условий условных операторов / 7 сообщений из 7, страница 1 из 1
11.06.2009, 17:09
    #36038164
konstantines
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA: вычисление условий условных операторов
Доброго времени суток!

Экспериментальным путем выяснилось, что АСА 9, 10 и 11 всегда вычисляют условия условного оператора ПОЛНОСТЬЮ.
Т.е. IF condition1 AND condition2 THEN ... вычислит condition2 даже если condition1 = FALSE.

Вопрос: а нет ли опции, которая заставит сервер вычислять логические выражения ммм... более логично :)
...
Рейтинг: 0 / 0
11.06.2009, 17:47
    #36038228
maxATC
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA: вычисление условий условных операторов
А, что разве Вы исключаете, что condition2 тоже может быть FALSE?
...
Рейтинг: 0 / 0
11.06.2009, 18:00
    #36038243
antand
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA: вычисление условий условных операторов
konstantines,

Это из классики. В первом условии проверяем на 0, а во втором делим на то, что может быть 0
Все нормально у ASA с логикой вычислений. Разносить надо такие вещи.
...
Рейтинг: 0 / 0
11.06.2009, 19:08
    #36038364
konstantines
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA: вычисление условий условных операторов
maxATCА, что разве Вы исключаете, что condition2 тоже может быть FALSE?
Нет, не исключаю, но это уже не имеет значения для результата всего условия. Какая-то ненормальная оптимизация.
...
Рейтинг: 0 / 0
11.06.2009, 19:21
    #36038378
konstantines
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA: вычисление условий условных операторов
antand
Это из классики. В первом условии проверяем на 0, а во втором делим на то, что может быть 0
Все нормально у ASA с логикой вычислений. Разносить надо такие вещи.
Простите, но из классики как раз не вычислять второе выражение, если общий результат уже известен.

Деление на ноль упрощенный пример, это может быть вызов любой функции с побочными эффектами. А если условий больше 2-х, то разносить становится не очень удачным решением.
С логикой у АСА все было бы нормально, если бы эта особенность как-то отражалась в документации. А еще лучше, если бы существовала опция позволяющая управлять этой логикой.
Что возвращает нас к исходному вопросу: существует ли опция в АСА, позволяющая переключать логику вычисления условных выражений, и , если да, то как она называется.
...
Рейтинг: 0 / 0
12.06.2009, 02:11
    #36038606
rcryo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA: вычисление условий условных операторов
Проверьте, возможно ASA просто вычисляет условия начиная с правого конца. Как это например делает PowerBuilder, продукт той же компании
...
Рейтинг: 0 / 0
12.06.2009, 19:58
    #36039301
konstantines
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA: вычисление условий условных операторов
rcryo,

Вычисляются именно все условия. Независимо от порядка и общего количества.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA: вычисление условий условных операторов / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]