本当は怖いHPC

HPC屋の趣味&実益ブログ

[ruby] メソッドのキーワード引数を指定する場合のイディオム

RSpec on Railsのソースを読んでいて、メソッドのオプション引数を取り出すイディオムを発見した。
こういう簡単で決まりきった処理は、イディオム化してさくっと書きたい。

def foo(*args)
  options = Hash === args.last ? args.pop : {}
  options[:bar] = args.shift unless args.empty?
  # ...

ちょっと長いなー。他に何か良い書き方はあるかな?

追記:moroさんからのブクマコメントで、ActiveSupport2.0Array#extract_options!できるらしい。試してみる

【広告】