【发布时间】:2013-12-02 20:43:21
【问题描述】:
经常会从不同的对象A、B、C调用同一个方法X。是否可以从方法X内部获取调用者对象(A、B、C)的名称
例如:
class Sample
def method
# what needs to be done here?
end
end
n1 = Sample.new
n2 = Sample.new
n1.method #=> expected output is to print n1
n2.method #=> expected output is to print n2
【问题讨论】:
-
@YevgeniyAnfilofyev 它不是您指定的链接的副本。 OP 要求一种打印调用对象名称的方法,而您提供的链接描述了一种打印调用方法名称的方法
-
@user2753200 您实际上是在询问变量名称,caller 指的是执行堆栈。
-
此外,它不是 object 名称,因为对象没有名称,只是一个 ID。
-
@undur_gongor 只有一位用户认为它离题了