<dblack / wobblini.net> wrote in message 
news:Pine.LNX.4.64.0608012105530.19730 / rubypal.com...
> Hi --
>
> On Wed, 2 Aug 2006, dblack / wobblini.net wrote:
>
>> Hi --
>>
>> On Wed, 2 Aug 2006, Just Another Victim of the Ambient Morality wrote:
>>
>>> # this is the sample code you provided...
>>>
>>> a = 10
>>> # the block is defined here but "sent" to the "each" method...
>>> [1, 2, 3].each {|x| puts x * a }
>>
>> I would say: control passes to the block.  The block itself is not
>> represented by an object (which I think is the only quasi-objective
>> [ha ha] definition of "sent") in any scope other than the one in which
>> it was created.
>
> (Nor, I should add, in the one in which it was created.)

    ...but does the definition of a closure require that the closure be an 
_object?_  No, a closure is a block of code that executes outside of it's 
defining scope but still has access to said scope.

    Of course the control is passed to the block.  How else can the block 
execute?  Control is passed to the block even if it were a Proc object so 
this is not even a distinction, much less a meaningful one...