Rubyリファレンス: Home

singleton_method_removed

Edit   History

標準クラス・モジュール > Object > singleton_method_removed

def singleton_method_removed(method_name)
  code...
end

singleton_method_removedメソッドを定義すると、そのクラスのオブジェクトから特異メソッドが削除されたときに、singleton_method_removedが呼び出されるようになります。引数にはメソッド名がシンボルで渡されます。

class String
  def singleton_method_added(name)
    puts "#{name} is added!"
  end
  def singleton_method_removed(name)
    puts "#{name} is removed!"
  end
end
 
str = "hello"
def str.double
  self + self
end
 
class << str
  remove_method :double
end
double is added!
double is removed!

関連項目