Hi,

Blocks are very useful when you need to evaluate code from an outside
source.
For example a BPM Process that have gateways with different conditions.

To the Smalltalk system conditions come as Strings and convert them to
Smalltalk objects is very easy:
self evaluate: '[:process | process amount > 1500]'. "condition inside a
gateway of a process"

And we have the block to evaluate and get the Boolean (to see what
transition follow after the gateway).
In other languages you have to process the condition String and do some kind
of interpretation but is much more limited than a block.

Of course there is a security issue here but very easy to overcome with an
AST.
If the conditions is: 'Smalltalk become: nil'. 
In my case all message can be sent to the block argument only and some other
simple rules.

regards,
bruno



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Reply via email to