[Pharo-users] #collect:as:Dictionary

Nicolai Hess nicolaihess at gmail.com
Sat Oct 24 06:13:07 EDT 2015


2015-10-23 8:33 GMT+02:00 Marcus Denker <marcus.denker at inria.fr>:

>
> > On 23 Oct 2015, at 07:12, Peter Uhnák <i.uhnak at gmail.com> wrote:
> >
> > Hi,
> >
> > is this intentional behavior?
> >
> > #(a b c) collect: [ :each | each -> each first asciiValue ] as:
> Dictionary.
> > "a Dictionary(1->#a->97 2->#b->98 3->#c->99 )"
> >
> > (#(a b c) collect: [ :each | each -> each first asciiValue ])
> asDictionary.
> > "a Dictionary(#a->97 #b->98 #c->99 )"
> >
> > I would expect that collect:as: for Dictionaries would act in the same
> way as #asDictionary.
> >
> Yes, I would expect the same… asDictionary is fairly recent, though.
> Before that, any kind
> of conversion would have been fine.
>
>         Marcus
>
>
>
I would not change this.
The first just collects each entry and builds an association with the index,
and the second expects a list of assocations.
They have different behaviors if the list does not contains (or does not
only contains) associations:

{  $a -> 1 . $b -> 2. 'not_an_association' } collect:#yourself
as:Dictionary. "works - I would not expect an error"

{  $a -> 1 . $b -> 2. 'not_an_association' } asDictionary "throws an error
- as I would expect it "
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-users_lists.pharo.org/attachments/20151024/fea00724/attachment.html>


More information about the Pharo-users mailing list