aSortedCollection collect: returns OrderedCollection instead of original sorted
Hi. I just found that #() asSortedCollection select: [ ] => SortedCollection #() asSortedCollection collect: [ ] => OrderedCollection It feels like a bug to me. But maybe there is a reason why sorted collection collects items as OrderedCollection instead of original kind of sort? My usercase was copy of object with sorted collection inside. For this I just manually collect copy of each item. But at the end my copy became broken because of sort was important for domain logic. Best regards, Denis
I think that this stick has 2 ends :). Often people have a collection and do not care how it ended up in that order, but want to preserve the order. Imagine that you have a collection of ascending numbers and you collect #negated and want to have the same order, but if you create a sorted collection, then it will reverse all the elements. Uko
On 19 Jun 2017, at 11:04, Denis Kudriashov <dionisiydk@gmail.com> wrote:
Hi.
I just found that
#() asSortedCollection select: [ ] => SortedCollection #() asSortedCollection collect: [ ] => OrderedCollection
It feels like a bug to me. But maybe there is a reason why sorted collection collects items as OrderedCollection instead of original kind of sort?
My usercase was copy of object with sorted collection inside. For this I just manually collect copy of each item. But at the end my copy became broken because of sort was important for domain logic.
Best regards, Denis
2017-06-19 11:19 GMT+02:00 Yuriy Tymchuk <yuriy.tymchuk@me.com>:
I think that this stick has 2 ends :). Often people have a collection and do not care how it ended up in that order, but want to preserve the order. Imagine that you have a collection of ascending numbers and you collect #negated and want to have the same order, but if you create a sorted collection, then it will reverse all the elements.
Good point. I agree it is more important than my case
You can do anything in the collect block, so the returned objects possibly cannot be sorted, and even if it can be sorted maybe the sort block is not compatible. On Mon, Jun 19, 2017 at 6:04 AM, Denis Kudriashov <dionisiydk@gmail.com> wrote:
Hi.
I just found that
#() asSortedCollection select: [ ] => SortedCollection #() asSortedCollection collect: [ ] => OrderedCollection
It feels like a bug to me. But maybe there is a reason why sorted collection collects items as OrderedCollection instead of original kind of sort?
My usercase was copy of object with sorted collection inside. For this I just manually collect copy of each item. But at the end my copy became broken because of sort was important for domain logic.
Best regards, Denis
+100 On Mon, Jun 19, 2017 at 2:14 PM, Gabriel Cotelli <g.cotelli@gmail.com> wrote:
You can do anything in the collect block, so the returned objects possibly cannot be sorted, and even if it can be sorted maybe the sort block is not compatible.
On Mon, Jun 19, 2017 at 6:04 AM, Denis Kudriashov <dionisiydk@gmail.com> wrote:
Hi.
I just found that
#() asSortedCollection select: [ ] => SortedCollection #() asSortedCollection collect: [ ] => OrderedCollection
It feels like a bug to me. But maybe there is a reason why sorted collection collects items as OrderedCollection instead of original kind of sort?
My usercase was copy of object with sorted collection inside. For this I just manually collect copy of each item. But at the end my copy became broken because of sort was important for domain logic.
Best regards, Denis
participants (4)
-
Denis Kudriashov -
Gabriel Cotelli -
phil@highoctane.be -
Yuriy Tymchuk