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
>>>>
>>>
>>
>