Ron at USMedRec.com
Sun Mar 11 01:56:10 UTC 2007
I'm not sure it is really less overhead, but it is possible for you to
change a sort block on a sortedCollection. Any time you change the sort
block it resorts the collection. So you could just turn off the sort.
SortedCollection with: 1 with: 2 with: 3.
Then inspect it. On the inspector change the sort block.
self sortBlock: [:a :b | true].
This basically says that each item in order between a and b, a always is
inserted before b.
So now you can do
self add: 5. self add: 4.
And notice that the collection now holds: 1 2 3 5 4
To sort the collection again just put back an appropriate sortblock like
self sortBlock: [:a :b | a < b]. (a goes before b if a is less then b) Once
you add this sortBlock back you have a sorted collection: 1 2 3 4 5.
Or just use asOrderedCollection which I think is a very nice way to solve
If you are try to filter results there are other ways to make this work.
You could build a filter object that applies filters as you add them to your
original collection and then outputs the results. This way your original
unsorted collection stays in one collection and your output changes as you
input -> OrderedCollection of data
output -> Output collection for dispay
filters -> OrderedCollection of FilterObjects
"run through collection of filters to set the output collection"
So now you can see that if there are no filters you just get your original
unsorted collection back. Otherwise you get your data changed as you need
it, by way of sorting, selecting, or whatever.
Does that help?
> -----Original Message-----
> From: Blake
> I want to have a collection that's sortable but not always sorted.
> been using (essentially):
> mySortedCollection := myOrderedCollection asSortedCollection.
> myOrderedCollection := mySortedCollection asOrderedCollection.
> Or just:
> s := (s asSortedCollection) asOrderedCollection.
> OK? (It seems fine to me, but part of my mind still sticks thinks
> that's a lot of overhead.") I really just want to write:
> s sort.
> I see the tools are there for SortedCollection but they're not meant
> be used, I think.
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
More information about the Beginners