menu
書いてる野郎
orebike@gmail.com
Rubyではnilかfalseのみが偽でありあとのオブジェクトはすべてtrueと判断される。空白とかゼロもtrue
おなじみのやつ
true || true #=> true true || false #=> true false || true #=> true false || false #=> true
この演算子にはif文的使い方もあって
という性質がある
なので
hoge = nil || "aaa" hoge = "bbb" || "aaa" hoge = "bbb" || nil hoge = 1 || 2
こんな風な選択的代入ができる
論理和と同じような使い方としてnilだったらnilを返すという性質があるので
a = nil && 1
だったら a には nil が入る
a = 1 && 2 && nil
でもnilが入る
このnilが出た時点で以降の判定を行わないという性質を利用すると
a = b && b.c()
こんな風にオブジェクトの存在をチェックしたのちにそのメソッドを呼び出してヌルポをはじくことができる