我很迷茫。我知道如何使用调用者来获取调用者方法,但是你怎样使用调用者类呢?Ruby继承获取来电者类名
例如:
class Testing
def return_caller_class
return caller_class
end
end
class Parent
attr_accessor :test_me
def initialize
self.test_me = Testing.new
end
end
class Child < Parent
end
class GrandChild < Child
end
test_Parent = Parent.new
test_Child = Child.new
test_GrandChild = GrandChild.new
puts test_Parent.test_me.return_caller_class => Parent
puts test_Child.test_me.return_caller_class => Child
puts test_GrandChild.test_me.return_caller_class => GrandChild
谢谢!
编辑:
我试着做以下
class Testing
def return_caller_class
return caller[0][/`.*'/][1..-2]
end
end
,输出是:
{"
"=>Parent}
{"
"=>Child}
{"
"=>GrandChild}
要解释一下我的问题更好。
我会输出到显示这不是
Parent
Child
GrandChild
看看https://www.ruby-forum.com/topic/161460 – bjhaid
谢谢,我现在检查一下。 – user3163916
虽然这个问题没有解决。 OP决定结束这个问题。 – user3163916