From: Christoph Schiessl Date: 2008-05-17T02:18:00+09:00 Subject: Re: Ruby classes and << Syntax Which means: class < 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