RSpec on Railsのソースを読んでいて、メソッドのオプション引数を取り出すイディオムを発見した。
こういう簡単で決まりきった処理は、イディオム化してさくっと書きたい。
def foo(*args)
options = Hash === args.last ? args.pop : {}
options[:bar] = args.shift unless args.empty?
ちょっと長いなー。他に何か良い書き方はあるかな?
追記:moroさんからのブクマコメントで、ActiveSupport2.0
のArray#extract_options!
できるらしい。試してみる