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


Ruby Proc.arity用法及代码示例


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

用法

arity → integer

返回强制参数的数量。如果该块被声明为不带参数,则返回 0。如果已知该块恰好带 n 个参数,则返回 n。如果块有可选参数,则返回 -n-1,其中 n 是强制参数的数量,但不是 lambda 且只有有限数量的可选参数的块除外;在后一种情况下,返回 n。关键字参数将被视为单个附加参数,如果任何关键字参数是强制性的,则该参数是强制性的。没有参数声明的 proc 与将 || 声明为其参数的块相同。

proc {}.arity                  #=>  0
proc { || }.arity              #=>  0
proc { |a| }.arity             #=>  1
proc { |a, b| }.arity          #=>  2
proc { |a, b, c| }.arity       #=>  3
proc { |*a| }.arity            #=> -1
proc { |a, *b| }.arity         #=> -2
proc { |a, *b, c| }.arity      #=> -3
proc { |x:, y:, z:0| }.arity   #=>  1
proc { |*a, x:, y:0| }.arity   #=> -2

proc   { |a=0| }.arity         #=>  0
lambda { |a=0| }.arity         #=> -1
proc   { |a=0, b| }.arity      #=>  1
lambda { |a=0, b| }.arity      #=> -2
proc   { |a=0, b=0| }.arity    #=>  0
lambda { |a=0, b=0| }.arity    #=> -1
proc   { |a, b=0| }.arity      #=>  1
lambda { |a, b=0| }.arity      #=> -2
proc   { |(a, b), c=0| }.arity #=>  1
lambda { |(a, b), c=0| }.arity #=> -2
proc   { |a, x:0, y:0| }.arity #=>  1
lambda { |a, x:0, y:0| }.arity #=> -2

相关用法


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