С логическим коротким замыканием второй операнд, expr2
, оценивается только, когда результат не полностью определяется первым операндом expr1
.
Из-за свойств логических AND и OR, результат логического выражения иногда полностью определяется перед оценкой всех условий. Логический and
оператор возвращает логическое 0
(false
) если даже одно условие в выражении ложно. Логический or
оператор возвращает логическое 1
(true
) если даже одно условие в выражении true. Когда оценка логического выражения заканчивается раньше, встречая одно из этих значений, выражение, как говорят, было коротко замкнуто.
Для примера в выражении A && B
, MATLAB® не оценивает условие B
вообще, если условие A
является ложным. Если A
false, тогда значение B
не изменяет результат операции.
Когда вы используете поэлементно &
и |
операторы в контексте if
или while
выражение цикла (и только в этом контексте), они используют короткое замыкание для вычисления выражений.
Примечание
Всегда используйте &&
и ||
операторы, чтобы включить оценку короткой схемы. Использование &
и |
операторы для короткого замыкания могут привести к неожиданным результатам, когда выражения не вычисляются логическими скалярами.