多くのインスタンス メソッドを持つ既存のクラスがあります。そのクラスをカプセル化 (またはサブクラス化) して、新しいクラスで元のインスタンス メソッドをすべて呼び出すことができるようにし、内部 (または親) クラスに委任するだけでなく、前後に独自のコードを呼び出すこともできます。代表団。
たとえば、ここに私が探しているいくつかの疑似コードがあります:
class Wrapper
def initialize(inner)
@inner = inner
end
def __getattr__(method_name, *method_args) # <-- made up syntax
# do something before
ret = @inner.method_name(*method_args) # <-- made up syntax, call method on inner
# do something after
ret
end
これをルビーで実装する最良の方法は何ですか? ありがとう