ich dynamisch die Klasse bestimmen, die aktuelle Methode in wurde möchte definiertWie kann man die Klasse bestimmen, in der eine Methode definiert wurde?
Hier ist ein statisches Beispiel dafür, was ich versuche zu tun. Die
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
Wie kann ich ersetzen A
und B
in Saiten oben mit einem dynamischen Ausdruck?
Anscheinend funktioniert #{self.class}
nicht. (Es wäre I was defined in B
zweimal für B
drucken)
Ich vermute, dass die Antwort ist „Sie können nicht“, aber vielleicht bin ich etwas übersehen.
Der Schlüssel zu all it :) – ndn
@ndn ich für '__class__' gehofft wurde, aber es ist nicht vorhanden . – Stefan
Warum müssen Sie das wissen? –