Каково различие между и и && в MATLAB?

Необходимо также смотреть на "замораживание" драгоценных камней направляющих в приложение. Это помогает много с развертыванием, особенно в общих средах хостинга.

Просто изменяются RAILS_GEM_VERSION переменная в config/environment.rb и выпускают задачу граблей замораживания:

rake rails:freeze:gems
91
задан horchler 26 April 2015 в 19:23
поделиться

6 ответов

Единственный амперсанд & является логическим оператором AND. Двойной амперсанд && снова является логическим оператором И, который использует поведение короткого замыкания. Короткое замыкание означает, что второй операнд (правая часть) оценивается только тогда, когда результат не полностью определяется первым операндом (левая сторона)

A & B (A и B оцениваются)

A && B (B оценивается, только если A истинно)

90
ответ дан 24 November 2019 в 06:48
поделиться

&& и || принимают скалярные входные данные и всегда замыкают накоротко. | и & принимают входные данные массива и замыкаются только в операторах if / while. Для назначения последние не замыкаются.

См. эти страницы документации для получения дополнительной информации.

33
ответ дан 24 November 2019 в 06:48
поделиться

Как уже упоминалось другими, & является логическим оператором И , а && является сокращением -схема И оператор . Они различаются тем, как вычисляются операнды , а также работают ли они с массивами или скалярами:

  • & (оператор AND) и | (оператор OR) могут работать с массивы поэлементно.
  • && и || - это версии с коротким замыканием, для которых второй операнд оценивается только тогда, когда результат не полностью определен по первому операнду. Они могут работать только с скалярами , но не с массивами.
17
ответ дан 24 November 2019 в 06:48
поделиться

Оба являются логическими операциями И. Однако && - это оператор «короткого замыкания». Из документации MATLAB:

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

См. Больше здесь .

8
ответ дан 24 November 2019 в 06:48
поделиться

Как и в других языках, & является логическим побитовым оператором, а && - логической операцией.

Например (простите за синтаксис) ).

Если ..

A = [True True False True]
B = False
A & B = [False False False False]

.. или ..

B = True
A & B = [True True False True]

Для && , правый операнд вычисляется только в том случае, если левый операнд истинен, и результатом является одно логическое значение.

x = (b ~ = 0) && (a / b> 18,5)

Надеюсь, это ясно.

5
ответ дан 24 November 2019 в 06:48
поделиться

&& и || - это операторы короткого замыкания , работающие на скалярах. & и | работают с массивами, а используют короткое замыкание только в контексте if или while выражения цикла.

4
ответ дан 24 November 2019 в 06:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: