ruby - 如何通过命令行获取 Ruby 类中定义的方法的详细列表?
问题描述
我正在寻找一种在 Ruby 类中生成所有方法列表的方法,类似于 C 头文件。我想要这个,这样我就可以看到类的概述,而无需使用 IDE 代码折叠来折叠所有内容。
最好这将是一个 *nix 命令行函数,以便我可以使用其他命令行工具进一步处理它。
输出将类似于
def foo( a, b, c )
def bar
def baz( d )
类似于这个问题,除了我正在寻找一个包含参数的列表并且我想输出到命令行以便可以进一步处理它。目标是在我工作时让这个列表可见,所以我希望它一目了然。
解决方案
用于instance_methods
该类,然后查询参数
例如
class A
def foo
end
def bar(a,b,c)
end
end
A.instance_methods(false).each do |s|
print "def #{s}(#{A.instance_method(s).parameters})\n"
end
输出:
def foo([])
def bar([[:req, :a], [:req, :b], [:req, :c]])
您可能需要获取子进程参数数组才能仅获取名称。
至于命令行,只需将其保存到 ruby 脚本中即可。
推荐阅读
- sql - 如何在 PostgreSQL 中对多态数据进行建模
- python - 使用 Numba 时的进度条(tqdm 不起作用)-Python
- swift - Apple Photos collectionview 捏缩放如何工作?
- selenium - 如何在 Jupyter Notebook 中同步运行多个功能?
- ruby-on-rails - 活动记录 (Rails) 条件验证
- php - 在 Heroku 上部署 Symfony 5
- java - Springboot 独立 JAR 应用的 JNDI 配置
- python - 如何使用 pymongo 在 mongodb 中自动删除集合?(Django 不会删除 mongodb 集合)
- android - 检索用户朋友的 ID 并在 Recycler 中显示每个朋友的数据(Firebase)
- apache-kafka - 使用骆驼kafka连接器从远程文件中读取文件记录