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

标签 ruby printing parameters

有没有一种快速输出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/

相关文章:

c++ - 从文件中的特定位置读取 C++

ruby - 如何在 Ruby 中使用信号阻塞

ruby - 什么是 Sinatra/Rack 的非常简单的身份验证方案

html - 如何根据表头检查表中 <td> 值的条件

c - 在 C 函数中使用 EOF 读取用户输入并修改数组?

ruby-on-rails - rails 3 : Pass arbitrary parameters via button_to?

javascript - _googWcmGet Google AdWords 测试 URL 参数

ruby - 在 Rails 3 应用程序中调用 .ajax 方法时出现 401 Unauthorized

ruby-on-rails - rails console - 运行一段代码

c# - 打印适合纸张 C#