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
