idiom

Ruby メソッド呼び出しからオプション(Hash)部分を取り出す  [ruby]  [idiom]

railsで使えるidiomを見つけた。
rubyで、あるメソッドの呼び出しが以下のようになっている場合、


hoge(:param, :option1 => true , :option2 => false)

以下のやり方でオプション部分だけを取り出せる


def hoge(*prams)
  options = params.last.is_a?(::Hash)? params.pop : {}
  pp options
  pp params
end

参考:
ActiveSupport::CoreExtensions::Array::ExtractOptions#extract_options!

perlのgrepで空文字を配列から消す  [perl]  [tips]  [idiom]


my @result = grep{$_} @array;