관리-도구
편집 파일: cdesc-Class.yaml
--- !ruby/object:RI::ClassDescription attributes: [] class_methods: - !ruby/object:RI::MethodSummary name: new comment: - !ruby/struct:SM::Flow::P body: Classes in Ruby are first-class objects---each is an instance of class <tt>Class</tt>. - !ruby/struct:SM::Flow::P body: "When a new class is created (typically using <tt>class Name ... end</tt>), an object of type <tt>Class</tt> is created and assigned to a global constant (<tt>Name</tt> in this case). When <tt>Name.new</tt> is called to create a new object, the <tt>new</tt> method in <tt>Class</tt> is run by default. This can be demonstrated by overriding <tt>new</tt> in <tt>Class</tt>:" - !ruby/struct:SM::Flow::VERB body: " class Class\n alias oldNew new\n def new(*args)\n print "Creating a new ", self.name, "\\n"\n oldNew(*args)\n end\n end\n\n class Name\n end\n\n n = Name.new\n" - !ruby/struct:SM::Flow::P body: <em>produces:</em> - !ruby/struct:SM::Flow::VERB body: " Creating a new Name\n" - !ruby/struct:SM::Flow::P body: Classes, modules, and objects are interrelated. In the diagram that follows, the vertical arrows represent inheritance, and the parentheses meta-classes. All metaclasses are instances of the class `Class'. - !ruby/struct:SM::Flow::VERB body: " +------------------+\n | |\n Object---->(Object) |\n ^ ^ ^ ^ |\n | | | | |\n | | +-----+ +---------+ |\n | | | | |\n | +-----------+ | |\n | | | | |\n +------+ | Module--->(Module) |\n | | ^ ^ |\n OtherClass-->(OtherClass) | | |\n | | |\n Class---->(Class) |\n ^ |\n | |\n +----------------+\n" constants: [] full_name: Class includes: [] instance_methods: - !ruby/object:RI::MethodSummary name: allocate - !ruby/object:RI::MethodSummary name: inherited - !ruby/object:RI::MethodSummary name: new - !ruby/object:RI::MethodSummary name: superclass - !ruby/object:RI::MethodSummary name: to_yaml name: Class superclass: Module