Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.01.25;
Скачать: CL | DM;

Вниз

if then   Найти похожие ветки 

 
aka   (2013-12-25 15:12) [0]

Если isValidID(ID) вернет FALSE, то будет ли вызвана  FindID(ID)
if(isValidID(ID) and FindID(ID)) then ....


 
Jeer ©   (2013-12-25 16:06) [1]

Так, проверь - потом расскажешь.


 
RWolf ©   (2013-12-25 16:08) [2]

зависит от настроек компилятора.


 
Jeer ©   (2013-12-25 16:23) [3]

От вкл/выкл оптимизации - не зависит.
От чего другого - не знаю, может быть.

Компилятор проверяет условие по первой функции и виду булевой операции.
Для and и первой False - вторая не выполняется.
Для or и первой True - вторая не выполняется.
и т.п.


 
Ega23 ©   (2013-12-25 16:37) [4]

http://www.delphibasics.ru/$B.php


 
Ega23 ©   (2013-12-25 16:39) [5]

Но если честно, я так и не смог найти годного примера, где нужно полное Bool Evaluation


 
Palladin ©   (2013-12-25 17:50) [6]

А оно и не нужно, если все делать правильно. Единственный случай, на мой взгляд, модификация переменных, переданных по ссылке, в вызовах функций, учавствующих в условии. Но это уже головой думать надо, что делаешь и не садить таких подводных камней в своем коде, ибо зло это.


 
Inovet ©   (2013-12-25 17:55) [7]

> [6] Palladin ©   (25.12.13 17:50)
> Единственный случай

Статические переменные


 
Sha ©   (2013-12-25 18:01) [8]

>Ega23

Оделся:=НаделРубашку and НаделШтаны;

Не найдешь рубашку, будешь ходить без штанов)
Ну, конечно, так писать - большая глупость.


 
brother ©   (2013-12-25 18:12) [9]

> Оделся:=НаделРубашку and НаделШтаны;

для [1]
Рубашку можно носить= ее можно одеть and она есть в гардеробе

:)


 
brother ©   (2013-12-25 18:17) [10]

> носить

*использовать


 
Jeer ©   (2013-12-25 18:27) [11]

>Ega23 ©   (25.12.13 16:37) [4]

Ну да, но когда вижу типа "деректива", то прочь, прочь.. :)


 
Ega23 ©   (2013-12-25 19:43) [12]


> Оделся:=НаделРубашку and НаделШтаны;


Зачем проверять второе условие по "и", если не выполнено первое?
Зачем проверять условие по "или", если первое выполнено?


> Единственный случай, на мой взгляд, модификация переменных,
>  переданных по ссылке, в вызовах функций, учавствующих в
> условии.


За такое, ИМХО, нужно стрелять. Без суда и следствия.


 
Юрий Зотов ©   (2013-12-25 20:21) [13]

> Ega23 ©   (25.12.13 19:43) [12]

Условие может быть связано с вызовом функции. И возможны варианты, когда ее надо вызвать безусловно. Например, даже если не нашел рубашку, то штаны все равно надел.

> Единственный случай, на мой взгляд, модификация переменных, переданных
> по ссылке в вызовах функций, участвующих в условии.


Не единственный. Функция может модифицировать глобальные переменные. Может красить кнопку в зеленый цвет. Может звонить в Лондон. Может вообще делать что угодно. Например - даже если не нашел рубашку, все равно звони в Лондон.


 
Германн ©   (2013-12-25 23:17) [14]


> Ega23 ©   (25.12.13 16:39) [5]
>
> Но если честно, я так и не смог найти годного примера, где
> нужно полное Bool Evaluation

Вот ведь как работа в Г. Смете портит нормальных людей :)


 
Inovet ©   (2013-12-26 02:46) [15]

> [13] Юрий Зотов ©   (25.12.13 20:21)
> Условие может быть связано с вызовом функции.

Так оно понятно, но годно ли это.


 
han_malign   (2013-12-26 08:59) [16]


> Условие может быть связано с вызовом функции. И возможны
> варианты, когда ее надо вызвать безусловно.

- угу, и сразу натыкаемся на второй побочный эффект - который не оговорен для полного булевского вычисления, но следует полагать, что в этом случае правило будет действовать на общих основания
- порядок вызова функций не определен...

Короче - от лукавого это... Разве что - для хитрой обфускации подойдет.


 
bems ©   (2013-12-29 21:28) [17]


> порядок вызова функций не определен

ты не путаешь с порядком вычисления аргументов при передаче в функцию?
насколько я знаю это именно он не определен, а порядок вычисления операндов and и or всегда слева направо


 
Jeer ©   (2013-12-29 23:59) [18]

>а порядок вычисления операндов and и or всегда слева направо

Другие варианты ( до D7 ) мне пока не встречались.


 
brother ©   (2013-12-30 08:44) [19]

да и не логично бы это было... имхо...



Страницы: 1 вся ветка

Текущий архив: 2015.01.25;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.005 c
15-1403553301
KilkennyCat
2014-06-23 23:55
2015.01.25
.Net webbrowser


2-1388401221
Вопрошающий
2013-12-30 15:00
2015.01.25
E2089 Invalid typecast


2-1388063712
aka
2013-12-26 17:15
2015.01.25
Странное поведение переменной


2-1387886265
Demo
2013-12-24 15:57
2015.01.25
Import Excel with Unicode


2-1387969962
aka
2013-12-25 15:12
2015.01.25
if then