> just initialize @foods in the class
> 
> class Breakfast
>     @foods = []  # class instance variable, I did this in my 
> original example
>                          # because of (1)
>     def self.add_food( *args)
>           @foods += args
>     end
> 
>     ......

but then @foods doesn't exist in RubyBreakfast and BoringBreakfast. I
mean, sure, I could cut'n'paste @foods = [] in each of them, but that
doesn't smell right. In the superclass, I want a chunk of code that
initializes a class instance variable in itself and each of its class
descendents.

In point of fact, I can work around the @foods.nil? case in the
self.foods method, but I'd rather figure out either how to do this or
why it's a bad idea to do it. :)

- donald