From: "Ghelani, Vidhi" Date: 2005-02-12T05:50:07+09:00 Subject: Re: a problem outputting text Hi, Somewhere in the code you have written puts asong.name puts asong.duration When I run these lines basically it gives me some address in the memory location ( or atleast that's wot I understand) How does it help using puts in this manner? I am sure there is a reason behind doing this? What is the advantage? Thanks, Vidhi. -----Original Message----- From: Steve Callaway [mailto:sjc2000_uk@yahoo.com] Sent: Friday, February 11, 2005 12:16 PM To: ruby-talk ML Subject: Re: a problem outputting text Try this: class Song attr_reader :name, :duration attr_writer :name, :duration def initialize ( name, duration) @name = name @duration = duration end def print puts "The song title is #{@name} and the track length is #{@duration} " end def set_duration( newduration) @duration = newduration end end asong = Song.new( "Good Golly Miss Molly", 240) asong.print puts asong.name puts asong.duration The problem is the embracement in print: below > puts {"The song title is #{@name} and the > track length is > #{@duration} /n" } <- and here Also be wary of using variables with the same name as methods as in e.g. duration since Ruby will try and evaluate the variable as a method or vice versa dependant on where you are in the code. --- "Ghelani, Vidhi" wrote: > Hey, > > > > I am trying to test some of my code. Here it is : > > ************************************************************************ > ************************* > > class Song > > > > def duration= (newDuration) > > @duration = newDuration > > end > > > > def initialize(name, duration) > > @name = name > > @duration = duration > > end > > > > attr_reader :name, :duration > > attr_writer :name, :duration > > > > def print > > puts {"The song title is #{@name} and the > track length is > #{@duration} /n" } > > end > > > > > > end > > > > > > asong = Song.new("Mahi Ve", 2443) > > asong.print > > asong.name > > asong.duration > > > > ************************************************************************ > *********************** > > However, this does not print anything. There are no > errors showing up > either. All that happens is that it prints blank > lines. > > > > Does anyone know where I am going wrong ? > > > > Any help would be appreciated. > > > > Thanks, > > Vidhi > > > >