Yes this is what I did for the change sorter. I do not like this DSL like way of passing block over block over blockover blocks.I love blocks but methods are named blocks and I prefer them.Stefbiut that method can be written:aMenu addGroup: (MenuGroupModel newaddItem: (MenuItemModel newname: 'Browse Full';action: [ self browseSelectedObject ];shortcut: $b command mac | $b alt win | $b alt unix);addItem: (MenuItem newname: '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 <Benjamin.VanRyseghem.Pharo@gmail.com> 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)
BenOn 12 Nov 2013, at 13:05, Esteban Lorenzano <estebanlm@gmail.com> wrote:On Nov 12, 2013, at 4:22 AM, Benjamin <benjamin.vanryseghem.pharo@gmail.com> wrote:It is not necessary better, but it saves you from having hundreds of temp vars :)
BenOn 12 Nov 2013, at 01:49, St�phane Ducasse <stephane.ducasse@inria.fr> 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