-PR-
回答 受付中

Module#method_addedの挙動

  • 困ってます
  • 質問No.9330816
  • 閲覧数58
  • ありがとう数0
  • 気になる数0
  • 回答数0

お礼率 63% (161/254)

すいません、Rubyのドキュメントを見ながら動作を追っていて、疑問に感じたので質問をさせてください。
Module#method_addedというメソッドが追加されたタイミングで動作するメソッドがあります。
定義場所がModuleクラスの中なので、Moduleにメソッドを追加したら、それがmethod_addedを呼び出すと思って試して見たのですが、何故かそうなりません。
何故なのか理由がわからないんですが、教えていただけないでしょうか?

------------------------------------------------------------------
class Object
def self.method_added(*_)
p self.class.name
p __method__
p _
end

def self.singleton_method_added(*_)
p self.class.name
p __method__
p _
end
end

class Module
def self.method_added(*_)
p self.class.name
p __method__
p _
end

def self.slngleton_method_added(*_)
p self.class.name
p __method__
p _
end
end

module Foo
def self.foo
end

def foo2
end
end

class Bar
def self.bar
end

def bar2
end
end
------------------------------------------------------------------
出力結果
------------------------------------------------------------------
"Class"
:singleton_method_added
[:bar]
"Class"
:method_added
[:bar2]
------------------------------------------------------------------
動作環境は、Mac
rubyのバージョンは2.4.0です。

ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16]
通報する
  • 回答数0
-PR-
-PR-
現在回答を募集しています。
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

-PR-
-PR-

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

-PR-

ピックアップ

-PR-
ページ先頭へ