gpt4 book ai didi

ruby - 如何打印方法的参数名称

转载 作者:太空宇宙 更新时间:2023-11-03 17:59:23 24 4
gpt4 key购买 nike

有没有一种快速输出ruby方法可能的参数名称的方法?

例如:

def my_method(param1, param2, param3, ...)
# stuff
end

puts get_params("my_method")

这会输出如下内容:

param1
param2
param3
...

谢谢!

哦,顺便说一句,我正在使用 ree-1.8.7...

最佳答案

怎么样:

class A
def my_method(param1, param2, param3)
# stuff
end
end

A.instance_method(:my_method).parameters # => [[:req, :param1],[:req, :param2],[:req, :param3]]

A.instance_method(:my_method).parameters.collect { |p| p[1] } # => [:param1, param2, param3]

如果您在 irb 控制台上执行此操作,如您的示例所示:

>> def my_method(param1, param2, param3)
>> # stuff
>> end
=> nil

>> def get_params(method_name)
>> self.class.instance_method(method_name.to_sym).parameters.collect { |p| p[1] }.each { |name| puts name }
>> end
=> nil

>> get_params(:my_method)
param1
param2
param3
=> [:param1, :param2, :param3]

(从我的 irb 控制台复制/粘贴。)

关于ruby - 如何打印方法的参数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7640174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com