[Pharo-users] Set >> collect:thenDo:

Richard Sargent richard.sargent at gemtalksystems.com
Sun Sep 8 03:12:40 EDT 2019


I don't know the correct answer, but I am skeptical of one that relies on a
specific implementation rather than a specific definition.

I would like to see and understand the arguments for one interpretation
versus another.

Prima facie, the expectation that set behaviour propagates through the
implementation is appealing. The correct answer is anything but clear cut

On Sat, Sep 7, 2019, 23:03 Kasper Østerbye <kasper.osterbye at gmail.com>
wrote:

> Feature!
>
> collect: forms a new collection of the same kind as its receiver. In this
> case a set. As the result of your collect:
> #(1 2 3) asSet collect: #odd)
> is booleans, the resulting set will contain only to elements (the
> duplicate odd resulting in true is removed).
>
> collect: thenDo: applies the collect-block to each element of the
> receiver, and then applies the do to each of those results. You can see the
> implementation of collect:thenDo: in class Collection.
>
> Best,
>
> Kasper
>
>
> On 7 September 2019 at 17.22.03, Herby Vojčík (herby at mailbox.sk) wrote:
>
> Hello!
>
> ----
> (#(1 2 3) asSet collect: #odd)
> do: [ :each | Transcript show: each; cr ]
>
> > true
> > false
>
> ----
>
> #(1 2 3) asSet collect: #odd
> thenDo: [ :each | Transcript show: each; cr ]
>
> > true
> > false
> > true
> ----
>
>
> Bug or feature?
>
> Herby
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-users_lists.pharo.org/attachments/20190908/196cd0c1/attachment.html>


More information about the Pharo-users mailing list