Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Очередной теоретический вопрос или глюк PB? / 8 сообщений из 8, страница 1 из 1
13.10.2006, 16:36
    #34054272
galileo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередной теоретический вопрос или глюк PB?
Интересная особенность PB9 при вычислении условия.
Имеется условие типа
Код: plaintext
1.
2.
if (row> 0  and direction <> drag_direction and dw_this.Object.join_color[row] = RGB( 255 , 255 , 255 )) then
.....
end if

Когда row=0 => PB выдает ошибку Invalid row range
Мне представлялось что он должен бы сначала проверять значение row, а потом уж
Код: plaintext
dw_this.Object.join_color[row] = RGB( 255 , 255 , 255 )
Так что получается без дополнительного if не обойтись?
...
Рейтинг: 0 / 0
13.10.2006, 17:26
    #34054447
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередной теоретический вопрос или глюк PB?
galileoИнтересная особенность PB9 при вычислении условия.
Имеется условие типа
Код: plaintext
1.
2.
if (row> 0  and direction <> drag_direction and dw_this.Object.join_color[row] = RGB( 255 , 255 , 255 )) then
.....
end if

Когда row=0 => PB выдает ошибку Invalid row range
Мне представлялось что он должен бы сначала проверять значение row, а потом уж
Код: plaintext
dw_this.Object.join_color[row] = RGB( 255 , 255 , 255 )
Так что получается без дополнительного if не обойтись?

Это описано в документации.
В PB всегда вычисляются все ветки логических выражений, даже если результат от оставшихся веток не зависит.
Такого как в C или Perl (short-circuit aka lazy evaluation) нету.
...
Рейтинг: 0 / 0
13.10.2006, 17:28
    #34054448
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередной теоретический вопрос или глюк PB?
galileo wrote:

> Интересная особенность PB9 при вычислении условия.

Баян...

> Имеется условие типа
>
> if (row>*0* and direction <> drag_direction and dw_this.Object.join_color[row] = RGB(*255*,*255*,*255*)) then
> ....
> end if
>
>
> Когда row=0 => PB выдает ошибку Invalid row range
> Мне представлялось что он должен бы

Настоятельно рекомендую задвинуть свои представления... ммм... куда
подальше ;). Тебе никто ничего не должен, а булевские выражения в
эхотаге всегда вычисляются польностью.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
13.10.2006, 17:47
    #34054497
galileo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередной теоретический вопрос или глюк PB?
Не понимаю чем это может быть полезно? Но ошибки зато на лицо + лишняя конструкция.
2 Dima2000
Можете сделать со своими пожеланиями, то же что по вашему совету я не сделал со своими представлениями :)
...
Рейтинг: 0 / 0
13.10.2006, 17:49
    #34054502
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередной теоретический вопрос или глюк PB?
galileo wrote:

> Не понимаю чем это может быть полезно?

Это нужно просто принять к сведению.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
16.10.2006, 09:30
    #34056168
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередной теоретический вопрос или глюк PB?
Все логично, он же и проверяет цвет на указанной строке, разве не так?
Вот и ошибочка выходит ( строки-то не наблюдается)
А условие везде проверяется(если так указано), не только в эхотаге
if (row>0 and direction <> drag_direction) then
if dw_this.Object.join_color[row] = RGB(255,255,255)) then
.....
end if
end if
...
Рейтинг: 0 / 0
16.10.2006, 10:02
    #34056245
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередной теоретический вопрос или глюк PB?
spas2001Все логично, он же и проверяет цвет на указанной строке, разве не так?
Вот и ошибочка выходит ( строки-то не наблюдается)
А условие везде проверяется(если так указано), не только в эхотаге
Нет.
Anatoly MoskovskyВ PB всегда вычисляются все ветки логических выражений, даже если результат от оставшихся веток не зависит.
Такого как в C или Perl (short-circuit aka lazy evaluation) нету.
...
Рейтинг: 0 / 0
17.10.2006, 13:29
    #34059955
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередной теоретический вопрос или глюк PB?
Виноват, ошибочка вышла
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Очередной теоретический вопрос или глюк PB? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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