LoginSignup
5
7

More than 5 years have passed since last update.

Ruby 論理演算子を理解する

Last updated at Posted at 2018-10-25

論理演算子の特徴

  • 左側から順番に評価されていく
  • 式の真偽が決定すると残りの式は評価しない
  • 最後に評価された式の値が論理式全体の値になる
  • falseとnill以外は真

※orとandに関してはド・モルガンの法則を調べてください


  • || (or)について

条件1 || 条件2

条件1,条件2の順に真偽が判定されます。

||の場合どちらかの条件の結果が真であれば結果は真になります。
なので、条件1の結果が真であれば条件2を見なくても全体は真になることがわかります。
逆に言うと条件2を評価する必要があるのは条件1の結果が偽の場合のみです。


  • && (and)について

条件1 && 条件2

条件2は||とは逆に条件1の結果が真の場合にのみ評価されます。


  • 変数の論理式

var || "Ruby"

varの真偽が判断され、nilかfalseの場合のみ"Ruby"が評価される。
このときは戻り値として考えます。

■ varがオブジェクトを参照していればその値を返す(最後に評価された式がvarの場合)
■ varの結果がnilまたはfalseの場合は、文字列"Ruby"(次の式の値)を返す

応用

name ="Ruby"
#変数nameにRuby(デフォルト値)を代入します
if var
#varが真のとき(nil,false以外)
 name = var
#変数nameにvarを代入する
end

上記でやりたいことは||を使えば下記のようにかけます。

name = var || "Ruby"
#varの値がnilとfalseの場合(偽)はnameにRubyを代入する

以上です。

5
7
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7