Я пытаюсь переопределить Class.new
, чтобы я мог видеть, какие классы создаются, например.Почему не называется 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
?
Вы имеете в виду «почему * не *' Class.new' называется?»? –
@AndrewMarshall, да, вы правы, исправлены, спасибо. –