From: Todd Benson Date: 2008-05-17T02:10:24+09:00 Subject: Re: Ruby classes and << Syntax On Fri, May 16, 2008 at 11:54 AM, Christoph Schiessl wrote: > I have written a simple snippet of code and would appreciate any help with > understanding what's really going on. > > > ### Creating Basic Class > class Person # Same as: class Person < Object > attr_accessor :firstname > attr_accessor :lastname > > def initialize(firstname, lastname) > @firstname, @lastname = firstname, lastname > end > > def fullname > @firstname + ' ' + @lastname > end > end > > ### Create two instances of class Person > john = Person.new('John', 'Doe') > john.firstname # => "John" > john.lastname # => "Doe" > john.to_s # => "#" > > jack = Person.new('Jack', 'Stone') > jack.firstname # => "Jack" > jack.lastname # => "Stone" > jack.to_s # => "#" > > class Person > def to_s > 'Person: ' + fullname > end > end > > john.to_s # => "Person: John Doe" > jack.to_s # => "Person: Jack Stone" > ### Everything as expected until here... > > ### Now the interesing part: > class < def birthday > '2008-05-16' > end > end You are defining a class method and not a class instance method. Do this... class Person def birthday '2008-05-16' end end Todd