From: Robert Klemme Date: 2011-07-25T02:09:33+09:00 Subject: Re: Exclusive operator in ruby On Sun, Jul 24, 2011 at 5:57 PM, Adam Prescott wrote: > On Sun, Jul 24, 2011 at 11:12 AM, amir e. wrote: > >> 2 - As respect , Ruby is very comfort language , can we define function >> like this : >> def myFunc( a=0 , b=1 , c=2 ) >> d = a+b+c >> end >> >> and call this function with only third argument like : >> myFunc( , , 10). >> > > You can if you're using 1.9. This isn't keyword arguments. Nice! >>> def x(a = 1, b = 2, c) >>>   [a, b, c] >>> end > => nil >>> x(2) > => [1, 2, 2] >>> x(3) > => [1, 2, 3] >>> x(5, 6) > => [5, 2, 6] >>> x(15, 20, 25) > => [15, 20, 25] The variant with keyword arguments: irb(main):030:0> def x(ag={}) irb(main):031:1> ag = {a:1,b:2,c:3}.merge ag irb(main):032:1> [ag[:a], ag[:b], ag[:c]] irb(main):033:1> end => nil irb(main):034:0> x => [1, 2, 3] irb(main):035:0> x(a:99) => [99, 2, 3] irb(main):036:0> x(c:99) => [1, 2, 99] irb(main):037:0> x(c:99,b:22) => [1, 22, 99] Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/