>>>>> "M" == Mike Bowler <mbowler / GargoyleSoftware.com> writes:

M> On linux, the result is:
M> -1
M> -2
M> 2
M> 3

 What is your version of ruby on linux ?

pigeon% cat b.rb
def testArity( &proc )
    puts proc.arity()
end
 
testArity() {}
testArity() { |a| }
testArity() { |a,b| }
testArity() { |a,b,c| }
pigeon% 

pigeon% ./ruby -v b.rb
ruby 1.4.6 (2000-08-16) [i686-linux]
-1
-2
2
3
pigeon% 

pigeon% /usr/bin/ruby -v b.rb
ruby 1.6.2 (2000-12-25) [i686-linux]
-1
-1
2
3
pigeon% 

 Try :

   def testArity( &proc )
       puts proc.arity()
   end
    
   testArity() {}
   testArity() { |a,| }
   testArity() { |a,b| }
   testArity() { |a,b,c| }



Guy Decoux