>
> It only uses one temp collection, where a #select: followed by a separate
> #collect: would need two.
>
Yeah, be careful with that, because it changes the semantics of the
operation. (magine what happens when `thenDo:` operates on the original
collection and there's no intermediate
select: followed by a separate
#collect: would need two.
___
montyos.wordpress.com
> Sent: Thursday, June 07, 2018 at 8:20 AM
> From: "Tim Mackinnon"
> To: "Pharo Users Newsgroup"
> Subject: [Pharo-users] Why do #select:thenXxx methods not return their result
&
You are correct Peter - I jumped the gun, as it was #select:thenDo: where I hit
the problem - and yes it doesn’t make sense to answer a result from Do.
I do kind of miss the concept of: #select:thenDo:ifNone: as well as
#select:thenCollect:ifNone: but some bracketing sorts it out, and I guess
How do you mean?
(1 to: 10) select: #odd thenCollect: [ :x | x ** 2 ] "-> #(1 9 25 49 81)"
It wouldn't make sense otherwise to have the collect method if it wouldn't
return anything.
Peter
On Thu, Jun 7, 2018 at 2:20 PM, Tim Mackinnon wrote:
> Hi - are the methods like #select:thenCollect:
Hi - are the methods like #select:thenCollect: frowned upon?
They seem quite readable , however in using them I’ve noticed that unlike the
core methods they done return the result of evaluation (they are missing a ^).
This is a shame, but possibly an oversight?
Tim
Sent from my iPhone