mail07 发表于 2013-1-27 05:28:52

ruby如何获取一个方法所需参数的数量

http://www.agoit.com/images/smiles/icon_biggrin.gif

找了很久哈,终于找到了

有这方面需求的朋友可以看 ruby 手册里面的 Class Method

用法如下

class C
   def one;    end
   def two(a); end
   def three(*a);end
   def four(a, b); end
   def five(a, b, *c);    end
   def six(a, b, *c, &d); end
   end
   c = C.new
   c.method(:one).arity   #=> 0
   c.method(:two).arity   #=> 1
   c.method(:three).arity   #=> -1
   c.method(:four).arity    #=> 2
   c.method(:five).arity    #=> -3
   c.method(:six).arity   #=> -3

   "cat".method(:size).arity      #=> 0
   "cat".method(:replace).arity   #=> 1
   "cat".method(:squeeze).arity   #=> -1
   "cat".method(:count).arity   #=> -1
页: [1]
查看完整版本: ruby如何获取一个方法所需参数的数量