当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby UnboundMethod.arity用法及代码示例


本文简要介绍ruby语言中 UnboundMethod.arity 的用法。

用法

arity → integer

返回方法接受的参数数量的指示。为采用固定数量参数的方法返回一个非负整数。对于采用可变数量参数的 Ruby 方法,返回 -n-1,其中 n 是所需参数的数量。关键字参数将被视为单个附加参数,如果任何关键字参数是强制性的,则该参数是强制性的。对于用 C 编写的方法,如果调用采用可变数量的参数,则返回 -1。

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

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 UnboundMethod.arity。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。