假设我的rails应用程序中有一个名为bla
的函数。
在ruby或rails中是否有一种方法可以通过它动态地/以编程方式打印代码来定义该函数?例如:
def bla
puts "Hi There"
end
然后如果我调用一个函数,例如get_definition
:
puts get_definition(:bla)
这会打印出来
"puts \"Hi There\""
有这样的规范方法吗?我之前并没有真正需要这样做,而且我知道这在rails中并不常见。
我也不想使用元(反射)编程来定义我的方法,然后存储用于定义我的方法的字符串。任何帮助表示赞赏!
答案 0 :(得分:1)
我不知道John Hyland在写什么。没有像Method#source
这样的方法(在纯Ruby中)。实际的解决方案是使用pry gem。它有让您访问源的方法。