[squeak-dev] Boolean whenTrue:whenFalse:
Nicolas Cellier
nicolas.cellier.aka.nice at gmail.com
Tue May 14 15:02:25 UTC 2019
Oups, my example was a bit stupid because findLast: loop stops at first
true, but you get my intention...
Replace with select:/reject: or provide a whenFalse: side effect...
Le mar. 14 mai 2019 à 16:23, Nicolas Cellier <
nicolas.cellier.aka.nice at gmail.com> a écrit :
> Hi,
> From time to time, I need to perform some additional action (side effect)
> when a boolean is true, but preserve that boolean as return value.
>
> Here is a pseudo example:
>
> self findLast: [:each |
> | conforming |
> conforming := self testSomeConditionFor: each.
> conforming
> ifTrue:
> [ "found one, do some side effect before searching next"
> self performSomeAction: each ].
> conforming ].
>
> Or shorter, but I dislike the redundant true:
>
> self findLast: [:each |
> (self testSomeConditionFor: each)
> and:
> [ "found one, do some side effect before searching next"
> self performSomeAction: each.
> true ]].
>
> What i seek is even shorter:
>
> self findLast: [:each |
> (self testSomeConditionFor: each)
> whenTrue:
> [ "found one, do some side effect before searching next"
> self performSomeAction: each ]].
>
> Of course, we would have companions whenFalse:, whenTrue:whenFalse:...
> Would you buy it?
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190514/2cca14a7/attachment.html>
More information about the Squeak-dev
mailing list
|