biut that method can be written: 

aMenu addGroup: (MenuGroupModel new 
        addItem: (MenuItemModel new 
                name: 'Browse Full';
                action: [ self browseSelectedObject ];
                shortcut: $b command mac | $b alt win | $b alt unix);
        addItem: (MenuItem new 
                name: 'Browse Class';
                action: [ self browseSelectedObjectClass ])).

and you do not have to declare variables for that (and is a lot better than 
using a block, IMO). 



On Nov 12, 2013, at 9:36 AM, Benjamin <[email protected]> 
wrote:

> One can just use an object too.
> 
> It’s just that otherwise, it pollutes a bit the method with tons of inst vars
> (and then you forget to use them :P)
> 
> Ben
> 
> On 12 Nov 2013, at 13:05, Esteban Lorenzano <[email protected]> wrote:
> 
>> 
>> On Nov 12, 2013, at 4:22 AM, Benjamin <[email protected]> 
>> wrote:
>> 
>>> It is not necessary better, but it saves you from having hundreds of temp 
>>> vars :)
>>> 
>>> Ben
>>> 
>>> On 12 Nov 2013, at 01:49, Stéphane Ducasse <[email protected]> 
>>> wrote:
>>> 
>>>>> 
>>>>> Example:
>>>>> aMenu addGroup: [ :aGroup |
>>>>>   aGroup addItem: [ :anItem |
>>>>>           anItem name: 'Browse Full';
>>>>>           action: [ self browseSelectedObject ];
>>>>>           shortcut: $b command mac | $b alt win | $b alt unix  ].
>>>>>   aGroup addItem: [ :anItem |
>>>>>           anItem name: 'Browse Class';
>>>>>           action: [ self browseSelectedObjectClass ] ] ].
>>>>>   
>>>> 
>>>> I do not see the value of passing block to add element to groups 
>>>> why not the normal way i.e. passing an object. I do not get why executing
>>>> a block with an object is better?
>> 
>> he, I thought the same :)
>> 
>>>> 
>>>> Stef
>>>> 
>>> 
>> 
> 

Reply via email to