Необходимо также смотреть на "замораживание" драгоценных камней направляющих в приложение. Это помогает много с развертыванием, особенно в общих средах хостинга.
Просто изменяются RAILS_GEM_VERSION
переменная в config/environment.rb
и выпускают задачу граблей замораживания:
rake rails:freeze:gems
Единственный амперсанд & является логическим оператором AND. Двойной амперсанд && снова является логическим оператором И, который использует поведение короткого замыкания. Короткое замыкание означает, что второй операнд (правая часть) оценивается только тогда, когда результат не полностью определяется первым операндом (левая сторона)
A & B (A и B оцениваются)
A && B (B оценивается, только если A истинно)
&&
и ||
принимают скалярные входные данные и всегда замыкают накоротко. |
и &
принимают входные данные массива и замыкаются только в операторах if / while. Для назначения последние не замыкаются.
См. эти страницы документации для получения дополнительной информации.
Как уже упоминалось другими, &
является логическим оператором И , а &&
является сокращением -схема И оператор . Они различаются тем, как вычисляются операнды , а также работают ли они с массивами или скалярами:
&
(оператор AND) и |
(оператор OR) могут работать с массивы поэлементно. &&
и ||
- это версии с коротким замыканием, для которых второй операнд оценивается только тогда, когда результат не полностью определен по первому операнду. Они могут работать только с скалярами , но не с массивами. Оба являются логическими операциями И. Однако && - это оператор «короткого замыкания». Из документации MATLAB:
Они являются операторами короткого замыкания в том смысле, что они оценивают свой второй операнд только тогда, когда результат не полностью определяется первым операндом.
См. Больше здесь .
Как и в других языках, &
является логическим побитовым оператором, а &&
- логической операцией.
Например (простите за синтаксис) ).
Если ..
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)
Надеюсь, это ясно.
&& и || - это операторы короткого замыкания , работающие на скалярах. & и | работают с массивами, а используют короткое замыкание только в контексте if
или while
выражения цикла.