Описание тега short-circuiting

A feature of some languages to skip certain code at runtime that doesn't affect the outcome, especially when testing compound conditions
1 ответ

Как узнать, если запятая разделяет параметры или является частью функции стрелки?

Я возился с использованием запятой в операциях короткого замыкания: let component = { on: (p1, p2, p3) => console.log(p1, p2, p3) }; component.on('something', () => console.log('what do'), '???'); Кажется двусмысленным '???' это параметр или н…
1 ответ

Как получить код возврата команды в выражении короткого замыкания

После выражения: command1 | command2 Я могу получить первые команды выхода из состояния через ${PIPESTATUS[0]} Есть ли эквивалент для выражений в форме: command3 && command4 || command5 Я хотел бы получить код выхода команды 3: command3 &amp…
18 июл '13 в 08:43
1 ответ

Оператор с тройным возвратом и коротким замыканием

Я хочу, чтобы оператор был способен замкнуть оценку на true или же false но также есть возврат, который указывает на необходимость продолжения тестирования. Например, сравнение лексикографической строки между двумя строками first а также second: есл…
08 окт '14 в 11:17
3 ответа

Оценка короткого замыкания PHP (хорошо / плохо?)

Это общий вопрос, но для его объяснения я приведу конкретный пример. У меня есть функция, которая загружает документ. Если этот документ не существует, он создаст его, если он существует, он преобразует его в массив JSON. Я всегда хочу, чтобы эта фу…
08 май '12 в 21:39
4 ответа

Булево или содержащее троичную условную операцию не закорачивается

В общем, короткое замыкание or оператор || игнорирует правую часть или, если левая сторона оценивается как true. Видимо, мы нашли исключение из этого. Проверьте следующее: if (foo == null || bar != true ? foo.Count == 0 : true) { } Этот код генериру…
09 ноя '12 в 17:37
1 ответ

Операторы коротких замыканий всегда выполняются слева направо?

Так что, если код: if(f() && false) { // never happens } Могу ли я быть всегда уверен, что f() будет вызываться и никогда не будет оптимизирован компилятором?
10 сен '12 в 08:18
2 ответа

Тернарный оператор в Java, оценивающий только одно выражение после Java 7 - это было другим в Java 1.6 и ниже?

Готовясь к экзамену Oracle Certified Associate Java SE 8 Programmer 1, я наткнулся на следующий абзац о троичном выражении в официальном учебном пособии: Оценка троичной экспрессии Начиная с Java 7, только одно из правых выражений тернарного операто…
10 апр '15 в 08:48
2 ответа

Нет ошибки TypeError, сравнивающей int с None в Python3

Я понимаю, что сравнение типов int и None недопустимо в Python3 (3.6.1), как я вижу здесь: >>> largest = None >>> number = 5 >>> number > largest TypeError: '>' not supported between instances of int and NoneType Но …
31 авг '17 в 05:12
2 ответа

Правила приоритета Python для логических операторов

Когда я оцениваю следующее выражение: 1 или (1/0) и 1 Какие правила (приоритет, оценка короткого замыкания и т. Д.) Соблюдаются, чтобы получить ответ
10 ответов

Оператор if - оценка короткого замыкания и читабельность

Иногда if Оператор может быть довольно сложным или длинным, поэтому для удобства чтения лучше извлечь сложные вызовы до того, как if, например это: if (SomeComplicatedFunctionCall() || OtherComplicatedFunctionCall()) { // do stuff } в это bool b1 = …
7 ответов

В чем разница между & и && в MATLAB?

В чем разница между & а также && логические операторы в MATLAB?
04 сен '09 в 13:52
2 ответа

Невозможно выйти из цикла, используя || оператор

Не могли бы вы объяснить, почему мой код "зависает", когда я использую короткое замыкание ИЛИ в цикле? Я написал код для вычисления наибольшего общего множителя двух целых чисел: int a = 9; int b = 6; while (a != 0 || b != 0) //here is the problem {…
23 ноя '15 в 03:48
2 ответа

Javascript короткое замыкание в if

Я запутался в приведенном ниже коде оператора if. Не уверен, что именно он делает if (this.props.filterURL && nextProps.filterURL !== this.props.filterURL) {} Может кто-нибудь, пожалуйста, помогите мне понять это? Это короткое замыкание в оп…
30 мар '17 в 04:41
7 ответов

Условный поток SQL Server

Если я напишу два SELECT заявления в IF EXISTS состояние с AND между этими запросами выбора, выполняются ли оба запроса, даже если первый SELECT возвращает ложь? IF EXISTS (SELECT....) AND EXISTS(SELECT ....) BEGIN END Выполняет ли SQL Server Engine…
1 ответ

C#: оптимизация компилятора, вызовы функций и короткое замыкание логического выражения

Давайте предположим, что у нас есть следующие дорогие функции: bool ExpensiveOp1() { ... } bool ExpensiveOp2() { ... } bool ExpensiveOp3() { ... } Кроме того, для простоты предположим, что ни у одного из них нет побочных эффектов. Я знаю, что C# мож…
2 ответа

Как помешать Oracle использовать короткое замыкание в PL/SQL

Следующий код PL/SQL показывает функцию ensure(...) и как я буду использовать его в Oracle 11g. declare valid boolean; function ensure(b boolean, failure_message varchar) return boolean is begin if not b then dbms_output.put_line(failure_message); r…
04 окт '15 в 07:58
3 ответа

Оценка внутреннего короткого замыкания в с

Я знаю, что Java и C/C++ имеют оценку короткого замыкания, то есть в if (a && b), b никогда не будет оцениваться, если a неправда. Но что, если у меня есть выражение как if ( (a && b) OP c ) (где OP является произвольным логическим о…
05 сен '15 в 09:02
2 ответа

Короткое замыкание Префикс Булевы выражения

У меня есть куча логических выражений, написанных в префиксной нотации (также называемой польской нотацией). Вложенные выражения в этом формате очень легко оценить (см. Алгоритм в статье Википедии). Однако алгоритм, приведенный на странице Википедии…
1 ответ

CASE выражение, которое НЕ имеет оценки короткого замыкания?

Я недавно начал учить себя (ужасно) SQLite. Одна вещь, которая меня поразила, это выражение CASE, а именно тот факт, что оно использует оценку короткого замыкания. Есть ли способ обойти это? Я ищу заявление CASE, которое не использует оценку коротко…
07 фев '13 в 23:16
1 ответ

Может ли троичный оператор быть эквивалентен короткому замыканию с логическими операторами?

С помощью короткого замыкания вы можете предотвратить оценку части выражения: let x = "", y = 123; x && alert("foo"); // "" y || alert("bar") // 123 Поскольку логические операции формируют выражения, вы можете использовать их в вызовах функц…
02 фев '16 в 22:38