As Richard said - as a bag is relationship between keys and frequencies, I 
would expect it to be able to convert to a dictionary.

It displays in an inspector just like a Dictionary - which is why I figured I 
could convert to pass it back to the exercise that was written with 
Dictionaries in mind.




The code to fix it is quite simple, but on these kinds of things - I thought it 
worth checking before submitting a PR.

Tim


> On 6 Mar 2019, at 13:53, Sven Van Caekenberghe <[email protected]> wrote:
> 
> Why would that work ? What would you expect the output to be ?
> 
> Try:
> 
>  #(1 2 3) asDictionary 
> 
> it fails in exactly the same way. You need key/value pairs (Associations).
> 
> These do work
> 
>  Bag new add: #foo->100; asDictionary.
> 
>  Bag new addAll: 'ABABABAAAA'; valuesAndCounts.
> 
>> On 6 Mar 2019, at 14:25, Tim Mackinnon <[email protected]> wrote:
>> 
>> I was surprised to find that a Bag can’t convert to a dictionary - e.g.
>> 
>> Bag new 
>>      addAll: 'aabbbbcddd’; 
>>      asDictionary 
>> 
>> Gives an error - Dnu #key
>> 
>> 
>> It looks to me like Bag is inheriting a bad version of #associationsDo:  and 
>> instead could simply forward it to #doWithOccurences: instead?
>> 
>> I know Bag is not used that much - but it comes up a lot in programming 
>> exercises.
>> 
>> Tim
> 
> 

Reply via email to