这个问题一直让我忙碌了一段时间,所以我希望有人知道如何解决这个问题。
让我们看一个简单的Class
method
(简化而不使用初始化方法):
class MyClass
def my_method
page.search('//p')
end
end
现在,有没有办法检索my_method
的内容而不执行它?我希望得到它将在执行时运行的代码:
"page.search('//p')"
有没有办法在Ruby中做到这一点?
答案 0 :(得分:6)
可以使用pry
gem,提供my_method
来源保存在某个文件中。 pry
将source
方法添加到Method
类:
require 'pry'
method = MyClass.instance_method(:my_method)
method.source
# => " def my_method\n page.search('//p')\n end"