OraRails

Oracle(9i,10g)+RubyOnRails(Ver1.2.1+Apache+mongrel)の設定メモ

nilの判定

2007-09-08 15:31:43 | 全般
オブジェクトがnilの場合 例外が発生する。
結構デバッグに時間がかかる。

参考サイト)nil または emptyを判定する

したいことは、このsourceで完成

if params[:nyuin].blank? || params[:nyuin][key3].blank?
inlistflag = 'F'
else
inlistflag = 'T'
end

あと、入れ子の判定 params[:vital][:a],params[:vital][:b],とかが一括して判定したい場合がある

以下参照します

ほかのパターンとしては、array, hash の入れ子のアクセスがあると思います。
例えば、入れ子の hash として扱う h があるとき、h[:a] が nil である場合を
考慮して
if h[:a] && h[:a][:b]
と書かないといけないのが面倒です。

これは
h = Hash.new {|hash, key| hash[key] = {} }
このように h を作っておけば key に :a がないとき h[:a] すると自動的に
h[:a] = {} になりますから
if h[:a][:b]
と書けます。
ただし key の存在を検査するときは h.key?(:a) などとする必要があります。