1
クラスD
に、インスタンスメソッドとクラスメソッドで構成される一般的な機能をいくつか追加したいと思います。私はこれを以下のようにしようとしましたが、うまくいかなかった。これを達成する正しい方法は何ですか?Rubyでインスタンスメソッドとクラスメソッドをラップするには?
module A
def foo
puts "foo!"
end
end
module B
def wow
puts "wow!"
end
end
module C
include A # instance methods
extend B # class methods
end
class D
include C
end
D.new.foo
D.wow
感謝を!ここで「自己」の意味は何ですか?私はそれを省略するとどうなりますか? –
自己は "モジュールメソッド"を "クラスメソッド"に似ています。それを削除しても機能しません。 –
@Mishaこれを省略すると、破損します。 'def self.xxx'は、インスタンスによって継承されるメソッドではなく、クラス/モジュール自体のメソッドを定義します。 – Phrogz