Ruby:检查是否在别名之前定义了方法

MxL*_*evs 5 ruby

class Test

  def my_print
    p "Print something"
  end
end

class Test

  alias_method :old_print, :my_print
  def my_print
    old_print
    p "Print some more"
  end
end

我原来的Test课程位于顶部.然后我决定添加更多内容,但我决定使用别名.

但是假设已经定义了my_print.是否有一种简短的方法来检查我是否已经定义了一个别名的方法?

Mau*_*cio 4

关于什么

if Test.method_defined? :my_print
    alias_method :old_print, :my_print
end
Run Code Online (Sandbox Code Playgroud)