ruby - 打印 ruby 文件中定义的所有方法
问题描述
我想打印所有免费方法(类或模块之外)。
考虑这个例子。
def func_a
end
def func_b
end
puts "All methods: #{the_magic_method.join}"
输出应该包含我的两种方法。
我知道,对于类(例如字符串),我可以使用String.methods。
解决方案
当在 Ruby 中定义自由函数时,它们成为 Object 类的私有方法。Object 类有一个默认实例,它是类块之外的 ruby 代码的自身上下文,称为主实例。
initial_methods = private_methods
def func_a
end
def func_b
end
final_methods = private_methods
new_methods = final_methods - initial_methods
puts "#{new_methods.join}"
推荐阅读
- reactjs - DocumentSnapshot.exists 在 Document 存在时返回 false
- html - 有没有办法从 chrome 开发人员工具中获取特定的反应指令?
- common-lisp - Common Lisp 中重复的 case 语句
- redirect - Drupal 8 内部重定向
- javascript - 基于任意排序的 Javascript 数组排序
- ubuntu - 在 /usr/share/webmin/changepass.pl 中找不到 ./acl/md5-lib.pl
- javascript - 我需要将两个 csv 文件合并为单个 csv 文件
- css - CSS 3D 2:1 等距旋转与已经等距的面
- c# - 将对象添加到列表会导致索引超出范围错误?
- python - 如何将列表的值传递给 pypsark 中的 GroupBy 子句