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

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

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

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

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

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


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