Login  Register

MethodFinder.Blocks

Posted by Christoph Thiede on Oct 13, 2019; 11:27pm
URL: https://forum.world.st/MethodFinder-Blocks-tp5105421.html

Hi all,


I just got irritated as I evaluated


MethodFinder methodFor: {{#(1 2). #even}. #(1)}


and got no hit.

This is because the MethodFinder stores an extra list of selector parameters that are assumed to require a block argument (Blocks) -- but nowadays this requirement is not given, as you can pass a Symbol, MessageSend, SortFunction or whatsoever, thanks to polymorphy. So (how) is this block check still relevant? If I remove it, I get the right hit and can do thinks like


MethodFinder methodFor: {{#(1 2). #yourself descending}. #(2 1)}.


Also, #ifError: will prevent any error thrown if the block does not match the selector.


Looking forward to your answers :)

Christoph



Carpe Squeak!