Beispielcode:Wie überschreiben erweiterte Methode?
module B
def f2
puts "B::f2"
end
end
class C
def initialize
extend B
end
def f2
puts "C::f2"
end
end
c = C.new
c.f2
Above Beispielcode ist eine Abstraktion von meinem Problem. erweitert module B
on fly (B
wird tatsächlich auf Instanz von C
erweitert). Methode f2
von B
erfüllt meine Bedürfnisse nicht, also möchte ich f2
überschreiben. Wie implementiert man das?
gut, Sie _are_ Überschreiben 'C# f2' mit einem von 'B'. Gibt es einen Grund, warum Sie diese dynamische Erweiterung anstelle des üblichen Includes ausführen? –
Weil 'B' in meinem echten Code ein konfigurierbares Plugin ist. – TieDad