Ruby - 覆盖def方法

Pur*_*n.. 3 ruby class object

如何覆盖def方法?但这很奇怪,因为我不知道def方法的定义.它不是Module,不是Object,不是BasicObject(Ruby 1.9).并且def.class什么都不说;)

我想使用类似的东西:

sub_def hello
  puts "Hello!"
  super
end

def hello
  puts "cruel world."
end

# ...and maybe it could print:
# => "Hello!"
# => "cruel world."
Run Code Online (Sandbox Code Playgroud)

非常感谢,任何想法.

ale*_*dev 6

谁告诉你def是一种方法?不是.这是一个关键字,如class,if,end,等于是你不能覆盖它,除非你想编写自己的Ruby解释器.