表題どおり。
arr = [nil,"hoge","fuga"]という配列があり、nilではない最初の要素を取得したい場合、私は以下のようにしていた。
arr.compact.first #=>"hoge"
コードゴルフ的に言えば18byteなので、あまりいただけない。(firstではなく、[0]でアクセスするのは、から配列の時に例外が起きてしまうのでNG)
ということで、findを使って、取得する。
arr.find{|x|x} #=>"hoge"
実は、falseが配列にあるとその要素もskipしてしまうが、nilまたはfalse以外の最初の要素を取得するということで。