> 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