From: "David A. Black" Date: 2009-07-15T00:46:46+09:00 Subject: Re: Twelve rules of Ruby Hi -- On Wed, 15 Jul 2009, Marc Heiler wrote: >> Objects don't "have" methods > > Hey David, you gotta tell this Dave Thomas so that he can talk about > this in new pickaxes too. I sort of stopped learning after reading > pickaxe, because this concept still surprises me ... :> That's what keeps it interesting, isn't it? :-) I certainly use the "have" terminology informally. But it's important to understand that "obj has a 'talk' method" is really shorthand for: "obj can successfully resolve the message 'talk' because there is a 'talk' method definition in one of the classes or modules in its method lookup path." The wordier version will enable you, for example, to understand super, inheritance, include, extend, the difference between undef_method and remove_method, and various other things... whereas "has", while a handy shorthand, doesn't pan out as a real description of the object model. David -- David A. Black / Ruby Power and Light, LLC Ruby/Rails consulting & training: http://www.rubypal.com Now available: The Well-Grounded Rubyist (http://manning.com/black2) Training! Intro to Ruby, with Black & Kastner, September 14-17 (More info: http://rubyurl.com/vmzN)