From: "Wolfgang Nádasi-Donner" Date: 2007-01-27T01:20:14+09:00 Subject: Re: Minor Change Proposal for Classes 'Object' and 'Method' I don't know where to put this message into the very large discussion tree, so I will put it here. There is an argument against naming a method "receiver", which returns the object which was bound to a method object. >>>>> Example >>>>> class Otto def hi puts "'Hi!' from an 'Otto' instance (#{self.inspect})" end end class Hugo < Otto def hi puts "'Hi!' from an 'Hugo' instance (#{self.inspect})" end end o = Otto.new h = Hugo.new bo = o.method(:hi) bh = bo.unbind.bind(h) h.hi # => 'Hi!' from an 'Hugo' instance (#) bh.call # => 'Hi!' from an 'Otto' instance (#) bo.call # => 'Hi!' from an 'Otto' instance (#) >>>>> EoE >>>>> In this example, the "Method" object "bh" contains (I temporary use this wording for this example) the object "h", and the method "Otto#hi", which can be seen in the output of "bh.call" - but - if ones sends the message "hi" to the object "h" the method "Hugo#hi" will be used (see output for "h.hi"). This means, that for the object "h" contained in "Method" object "bh" a message "hi" will not end up in calling "Otto#hi", because it finds "Hugo#hi". It is misleading to call "h" the "receiver" of a message, that leads to the invocation of "Otto#hi", because this cannot be done by any message in this example. May be a different name is better to avoid confusion. Wolfgang N�dasi-Donner