Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2015.01.25;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.002 c
2-1387655618
Alen
2013-12-21 23:53
2015.01.25
База данных


15-1403595384
XCoder
2014-06-24 11:36
2015.01.25
Выбор между FireMonkey vs VCL


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


15-1402790532
Пит
2014-06-15 04:02
2015.01.25
Термодинамика отдельно взятого человека


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский