Ruby Tips!

RubyのTipsを紹介します

メソッドを再定義するときaliasで元のメソッドを残しておく

メソッドを再定義するときaliasで元のメソッドを残しておく

あるクラスを継承して既存のメソッドを再定義する場合、元のメソッドにaliasを付けておくと、再定義するメソッドの中で元のメソッドを呼ぶことができる。元のメソッドの機能を活かしつつ、何か機能を追加したい場合に良く使う方法だ。

class SuperClazz
  def method
    puts 'original method'
  end
end

class Clazz < SuperClazz
  alias __method method
  def method
    puts 'preprocessing'
    __method
    puts 'postprocessing'
  end
end

c = Clazz.new
c.method
=begin
preprocessing
original method
postprocessing
=end