我正在尝试覆盖Class.new
,以便我可以看到正在创建哪些类,例如
class Class
class << self
alias new_orig new
def new(*args)
obj = new_orig *args
print "created",obj,"\n"
obj
end
end
end
class X
end
它不打印任何东西,但是如果我使用 Class.new 创建类,它就可以工作
puts Class.new
created#<Class:0x8b75888>
#<Class:0x8b75888>
class X
那么为什么和之间有区别Class.new
呢?