6

假设我bla在 Rails 应用程序的某处定义了一个函数。

ruby 或 rails 中是否有一种方法可以动态/以编程方式打印用于定义该函数的代码?例如:

def bla
   puts "Hi There"
end

然后如果我调用一个函数,例如get_definition

puts get_definition(:bla)

这会打印出来

"puts \"Hi There\""

有这样做的规范方法吗?我以前实际上不需要这样做,而且我知道这在 Rails 中并不是很常见的做法。

我也不想使用元(反射)编程定义我的方法,然后存储用于定义我的方法的字符串。任何帮助表示赞赏!

4

1 回答 1

1

我不知道约翰海兰在写什么。没有像Method#source. 实际的解决方案是使用pry gem。它具有让您访问源代码的方法。

于 2013-06-25T03:00:26.617 回答