rubyでif条件式がtureになる条件
ややこしいタイトルですね。
rubyを書いていて、すごく基本的なところでハマってしまったのでメモ。
結論から言うと、rubyでif条件式がtureになる条件は以下の通りです。
①falseでない ②nilでない
つまり、0や空文字列、空配列は真となります。
if Member.find_by_id(current_user.id) print 'いるよ!' else print 'いないよ!' end
はMemberにcurrent_userが存在しないときnilが返るため"偽"となりますが、
if Member.where(:id => current_user.id) print 'いるよ!' else print 'いないよ!' end
はMemberにcurrent_userが存在しないとき[](空配列)が返り、"真"となります。
基本だけど、気をつけた方が良さそうです。
曖昧なままで理解した気になる自分の脳を破壊したいです。
- 作者: ラスオルセン,Russ Olsen,パセイジ
- 出版社/メーカー: ピアソン桐原
- 発売日: 2012/12
- メディア: 単行本
- 購入: 3人 クリック: 20回
- この商品を含むブログを見る