From: "Steve P." Date: 2010-07-27T13:36:09+09:00 Subject: Beginner help needed: use a class def to create new instance I am attempting to put as much code inside classes as possible, to economize the code in the main body. However, how do I create a new class instance using only a method defined in a class? For instance, in the following code, I want to create a new Class Character instance named newchar by fleshing out the code in the #'d area. Is it possible? Otherwise, what is best practice? PS: I realize I can instantiate newchar=Character.new(da da da) from the body of the code but that would require the prompting code be there also. that would defeat my purpose. I hope I have given this enough thought before posting! :-) Best Regards Steve. #!/usr/bin/ruby -w class Character attr_reader :chname, :chnick, :chquote def initialize(chname,chnick) @chname=chname @chnick=chnick @chquote=String.new end def addquote(quote) @chquote=quote if quote.length > 10 end def promptedinput print "Char name: ";chname=gets.chomp print "Char Nick: ";chnick=gets.chomp print "Char Quote: ";chquote=gets.chomp # Need help here! # What code goes here to add Character class instance? # class instance name should be newchar end end puts newchar.inspect #referencing added instance. __END__ -- Posted via http://www.ruby-forum.com/.