1. ホーム
  2. ruby

[解決済み] Rubyの "or "と"||"の違い?重複] [重複] [重複] [重複

2022-03-03 06:32:33

質問

との違いは何ですか? or|| の演算子は、Ruby ではどうなっているのでしょうか?それとも単なる好みなのでしょうか?

どのように解決するのですか?

演算子の優先順位の問題です。

|| の方が優先順位が高く or .

つまり、この2つの間に、三項演算子( ? : ) と代入 ( = を選択することで、ステートメントの結果に影響を与えることができます。

ここでは ルビー演算子優先順位表 .

参照 この質問 を使用した別の例です。 and / && .

また、厄介なことが起こるかもしれないので、注意してください。

a = false || true  #=> true
a  #=> true

a = false or true  #=> true
a  #=> false

前の2つのステートメントは両方とも、次のように評価されます。 true しかし、2番目は afalse から = よりも優先順位が低い。 || よりも高いが or .