nilガードとは
nilガードとはどんなふうに使われるのか分からなかったので調べてみました。
名前から、nilを防ぐということは分かりますが、変数にnil
やfalse
が入るのを防いでくれます。
例
[1] pry(main)> number = nil => nil [2] pry(main)> number ||= 10 => 10 [3] pry(main)> number = 5 => 5 [4] pry(main)> number ||= 10 => 5 [5] pry(main)> number = false => false [6] pry(main)> number ||= 10 => 10
このように、変数にnil
やfalse
を入れたときに、||= の右辺を代入してくれる、というものでした。
右辺がtrue
(今回は5)の場合は、10が代入されることはありません。
まとめ
nilガードは、nilやfalseのときに代わりに入ってくれるものを指定することができる。