私は動的に現在のメソッドが定義されたクラスを決定したいと思いますメソッドが定義されたクラスを決定する方法は?
をここで私は何をしようとしているの静的な例です:。
class A
def foo
puts "I was defined in A"
end
end
class B < A
def foo
puts "I was defined in B"
super
end
end
A.new.foo
# I was defined in A
B.new.foo
# I was defined in B
# I was defined in A <- this is the tricky one
どのように私はA
とB
を置き換えることができます上記の文字列は動的な式で?
明らかに、#{self.class}
は機能しません。私は答えは「あなたがすることができない」、多分私が何かを見下ろすよであることを疑う
(それはB
ために二回I was defined in B
を印刷します)。
それのすべて:) – ndn
私は__class__' 'を期待していた@ndnへの鍵、それは存在しません。 。 – Stefan
なぜそれを知る必要がありますか? –