nilを処理する

INDEX PAGE

nilを処理する



ソースの中では、変数がnilの時の例外処理を書くことが良くあります。


実は恥ずかしながらRubyの言語仕様を良く知らず
最近まで

 if hoge == nil then
  p "nilです"
end

 
   ↓

 p "nilです" if hoge == nil


というように書いていました。
しかし、Rubyの言語仕様ではif文の引数は
false又はnilの時に偽と判定されるそうです。


つまり、下記のようにかけます。

 unless hoge then
  p "nilです"
end

 
   ↓

 p "nilです" unless hoge


今まで無駄なソースを書いていたと反省する限りです。


さらに、一緒に仕事をするKさんのソースを見て知ったのですが
変数の値がnilの時にデフォルト値を与えるような式を
"||="という式で表現することができるそうです。

 hoge = "hoge" unless hoge == nil

  を

 hoge ||= "hoge"


こんなテクニックを知らなかったあまり
ソースを汚く書いていたことを反省する今日この頃です。


INDEX PAGE