サンプルコード:サンプルコードの上拡張メソッドを上書きする方法は?
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
は私の問題を抽象化したものです。 Class C
は、フライでmodule B
を拡張します(B
は実際にはC
のインスタンスに拡張されています)。方法f2
からB
が私のニーズを満たしていないので、f2
を上書きしたいと思います。それを実装する方法は?
よく、あなたは 'B' 'から1とC#のf2'を上書き_are_。通常のインクルードの代わりにこの動的拡張を行う理由は何ですか? –
私の実際のコードでは、 'B'は設定可能なプラグインです。 – TieDad