From: ThoML Date: 2008-03-04T15:19:54+09:00 Subject: Re: Why is this not implemented in Ruby Apart from the solutions already proposes you could also do: > irb(main):005:0> def aProc(a=5,b=6,c=7) def aProc(a=5,b=nil,c=nil) b ||= 6 c ||= 7 ... end and then instead of: > irb(main):009:0> aProc(1,,3) aProc(1, nil, 3) If you want to use that many optional arguments that have no "natural" order, I think though you should use a hash instead.