Do literals (e.g. array literals, string literals, etc.) invoke the Class#new method? I tried to figure this out for myself, but the following code doesn't do what I expected it to. It replaces the Class#new method with a customized version which prints out "new invoked!", but nothing is printed to the console when I run this program. So, two questions: 1) Do literals invoke new? 2) What's wrong with the code below? # Replace standard new with custom new class Class alias_method :old_new, :new def new(*args) result = old_new(*args) puts "new invoked!" return result end end # Test to see if literals invoke new aString = "hello" anArray = [1,2,3] anotherArray = Array.new