Hi --

On Sat, 12 Feb 2005, Steve Callaway wrote:

> Try this:
>
> class Song
> attr_reader :name, :duration
> attr_writer :name, :duration

You can also do:

   attr_accessor :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

There's no point having that, if you've already got a writeable
'duration' attribute :-)  Actually one of the nice things about the
attr_*-style technique is that you don't have to have methods with
'set' and 'get' in their names.  Instead, you just do:

   class Song
     attr_accessor :duration
   #...
   end

   s = Song.new
   s.duration = 180


David

-- 
David A. Black
dblack / wobblini.net