我正在编写某种类似于基准测试实用程序的东西,我很好奇是否有一种简单的方法可以从什么上下文中判断一个方法正在被调用。让我举例说明:
module Foo
my_method
class Foo
my_method
def self.foo
my_method
end
def foo
my_method
end
end
end
Foo::Foo.foo
Foo::Foo.new.foo
理想情况下,对于上述情况,“my_method”将打印如下内容:
在模块“Foo”的定义中调用 在类“Foo”的定义中调用 在类方法“foo”的运行期间调用 在实例方法“foo”的运行期间调用
如果我可以获得对当前“范围”或上下文(或任何 ruby 所称的)的某种引用,这将很容易,但我不知道这是否可能,更不用说如何去做了。谁能指出我正确的方向?