エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Singleton Methodをundefする - Hello, world! - s21g
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Singleton Methodをundefする - Hello, world! - s21g
1 object = new Object 2 def object.foo; end 3 object.singleton_methods #=> [:foo] 4 (class <<... 1 object = new Object 2 def object.foo; end 3 object.singleton_methods #=> [:foo] 4 (class << object; self end).class_eval{send :remove_method, :foo} 5 object.singleton_methods #=> [] これで行けるようです。instance_eval{undef foo}でも削除はできますが、その場合親クラスのメソッドにもアクセス出来なくなってしまうので、 singleton methodだけを削除する場合には、 メタクラスのインスタンスメソッドをremove_methodするのが良いようです。