api中看 arity 还是很有用的,能根据返回的数字状态,判断方法调用的传参方式! 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 例子: if @entry.method(op_method).arity == 1 flag = @entry.send(op_method,params[:ov].to_s.strip) else flag = @entry.send(op_method) end
rails中arity的使用
猜你喜欢
转载自schooltop.iteye.com/blog/2311417
今日推荐
周排行