:D
找了很久哈,终于找到了
有这方面需求的朋友可以看 ruby 手册里面的 Class Method
用法如下
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
找了很久哈,终于找到了
有这方面需求的朋友可以看 ruby 手册里面的 Class Method
用法如下
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
本文详细介绍了Ruby中方法定义的不同形式及其参数数量的计算方式。通过具体的示例代码展示了如何使用Ruby内置的方法`arity`来获取不同类型方法签名的参数个数,包括固定参数、可变参数及带块参数的方法。
263

被折叠的 条评论
为什么被折叠?



