本文简要介绍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 Proc.eql?用法及代码示例
- Ruby Proc.prc ==用法及代码示例
- Ruby Proc.ruby2_keywords用法及代码示例
- Ruby Proc.new用法及代码示例
- Ruby Proc.lambda?用法及代码示例
- Ruby Proc.(params,...)用法及代码示例
- Ruby Proc.curry用法及代码示例
- Ruby Proc.prc << g用法及代码示例
- Ruby Proc.parameters用法及代码示例
- Ruby Proc.binding用法及代码示例
- Ruby Proc.prc >>用法及代码示例
- Ruby Proc.prc[params,...]用法及代码示例
- Ruby Proc.call用法及代码示例
- Ruby Process.groups用法及代码示例
- Ruby Process.wait2用法及代码示例
- Ruby Process.getpgrp用法及代码示例
- Ruby Process.setproctitle用法及代码示例
- Ruby Process.setrlimit用法及代码示例
- Ruby Process.uid用法及代码示例
- Ruby Process.pid用法及代码示例
- Ruby Process.detach用法及代码示例
- Ruby Process.maxgroups用法及代码示例
- Ruby Process.clock_gettime用法及代码示例
- Ruby Process.exec用法及代码示例
- Ruby Process.groups=用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Proc.arity。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。