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