デフォルト引数

ある引数のデフォルト値を、他の引数と同じにしたいことがある。
それを今まではこう書いていた。

def f(arg1,arg2=nil)
  if arg2 == nil then
    arg1 = arg2
  end
  # ...
end

でも、直接デフォルト値として設定してやったほうが簡潔だと気がついた。

def f(arg1,arg2=arg1)
  # ...
end

こっちのほうが簡潔だ。
http://www.loveruby.net/w/CrackingRuby.htmlに載ってたことを思い出して使ってみた。初め読んだときは無駄だと思ったけど、ちゃんと使い道あるね。