当前位置 : 主页 > 编程语言 > ruby >

ruby – 获取构造函数的参数名称

来源:互联网 收集:自由互联 发布时间:2021-06-23
我想检索构造函数中的参数名称.给出以下代码: class Something def self.do_something(a, b); end def initialize(a, b); endend 我明白了: Something.method(:do_something).parameters# = [[:req, :a], [:req, :b]] Something.
我想检索构造函数中的参数名称.给出以下代码:

class Something
  def self.do_something(a, b); end
  def initialize(a, b); end
end

我明白了:

Something.method(:do_something).parameters
# => [[:req, :a], [:req, :b]] 
Something.method(:new).parameters
# => [[:rest]]

为什么Method#参数在new的情况下返回[[:rest]],如何获取构造函数参数?

如果您询问Something :: new的参数,您将获得Something :: new的参数.如果你想知道Something #initialize的参数,你需要要求Something #initialize:

Something.instance_method(:initialize).parameters
# => [[:req, :a], [:req, :b]]
网友评论