[Pharo-users] #collect:as:Dictionary

Peter Uhnák i.uhnak at gmail.com
Sat Oct 24 07:23:40 EDT 2015


What is the practical value of creating a dictionary from non-association
objects? That seems to me like the programmer made a mistake and forgot
something. But maybe you do it regularly, I can only speak for myself.

However consider also this:

 #(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 ]) as:
Dictionary. "a Dictionary(#a->97 #b->98 #c->99 )"


Peter

On Sat, Oct 24, 2015 at 12:13 PM, Nicolai Hess <nicolaihess at gmail.com>
wrote:

>
>
> 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/29a182eb/attachment.html>


More information about the Pharo-users mailing list