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 <nicolaih...@gmail.com> wrote: > > > 2015-10-23 8:33 GMT+02:00 Marcus Denker <marcus.den...@inria.fr>: > >> >> > On 23 Oct 2015, at 07:12, Peter Uhnák <i.uh...@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 " > > >