APIdock / Ruby
/
method

arity

ruby latest stable - Class: Method
arity()
public

Returns an indication of the number of arguments accepted by a method. Returns a nonnegative integer for methods that take a fixed number of arguments. For Ruby methods that take a variable number of arguments, returns -n-1, where n is the number of required arguments. Keyword arguments will be considered as a single additional argument, that argument being mandatory if any keyword argument is mandatory. For methods written in C, returns -1 if the call takes a variable number of arguments.

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
 def seven(a, b, x:0); end
 def eight(x:, y:); end
 def nine(x:, y:, **z); end
 def ten(*a, x:, y:); 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
c.method(:seven).arity  #=> -3
c.method(:eight).arity  #=> 1
c.method(:nine).arity  #=> 1
c.method(:ten).arity  #=> -2
"cat".method(:size).arity  #=> 0
"cat".method(:replace).arity  #=> 1
"cat".method(:squeeze).arity  #=> -1
"cat".method(:count).arity  #=> -1
static VALUE
method_arity_m(VALUE method)
{
 int n = method_arity(method);
 return INT2FIX(n);
}

AltStyle によって変換されたページ (->オリジナル) /