Spent some time but was not quite able to get OrderedDictionary working.
However I see the idea is for the Dictionary to hold an OrderedCollection
that is synchronized with the Dictionary's array.

I think that's enough for me to go on to implement my own for the limited
dictionary protocol I need to support.

I looked in the Seaside packages for subclasses of Dictionary, or classes
named like Dictionary, but I didn't find anything.

I got a little lost looking at BTree, I should probably take the time to
look at that  someday.

Thanks guys.



On Sun, Jul 11, 2010 at 11:45 AM, Levente Uzonyi <[email protected]> wrote:

> On Sun, 11 Jul 2010, Joel Turnbull wrote:
>
>  What is the group's recommendation for creating a sequential Dictionary?
>> i.e. A Dictionary who's associations are ordered.
>>
>> Is there any precedent for this? Or does it sound like I'm barking up the
>> wrong tree?
>>
>> In my model, I've subclassed Dictionary into QuantityDictionary to store
>> line items, where the key is the item and the value is the quantity of the
>> item. It validates that the value is always a numeric, removes the
>> association when the value goes below zero, and other stuff specific to my
>> application.
>>
>> Now I'm finding it makes sense to be able to order these associations.
>> Imagine a recipe ingredient list, where you add and edit quantities of
>> ingredients, and you want to put the ingredients that you use earliest in
>> the recipe at the top of the ingredient list.
>>
>> Before I put any more work into it, I just wanted to make sure that a
>> sequential dictionary makes sense, and get your ideas on how to generally
>> go
>> about implementing that?
>>
>
> A "sequential dictionary" can mean a lot of different things. There are
> some implementations with different semantics available. See these for
> example:
> http://squeaksource.com/BTree.html
> http://forum.world.st/OrderedDictionary-td277320.html
>
> If you just want to iterate over your dictionary once in the sorted order,
> then the best thing to do is to collect your data into an array, sort the
> array, then iterate over that sorted array.
>
>
> Levente
>
>
>
>> Thanks.
>>
>>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to