Sort using Uniform call syntax

Jonathan M Davis via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Mar 14 11:51:23 PDT 2016


On Monday, March 14, 2016 11:27:30 Ali Çehreli via Digitalmars-d-learn wrote:
> On 03/14/2016 06:56 AM, Jonathan M Davis via Digitalmars-d-learn wrote:
> > On Monday, March 14, 2016 04:14:26 Ali Çehreli via Digitalmars-d-learn 
wrote:
> >> On 03/14/2016 04:01 AM, Jerry wrote:
> >>   > I have a small problem with using UCS when sorting arrays. This pops
> >>   > a
> >>   > warning telling me to use the algorithm sort instead of the property
> >>   > sort. Which I understand why it works that way. However that means I
> >>   > can
> >>   > not have syntactic sugar. So is there any way around this or do I
> >>   > just
> >>   > have to live with it?
> >>
> >> Two options:
> >>
> >> a) Use parentheses after sort:
> >>       arr.sort()
> >>
> >> b) Import sort() under a different name:
> >>
> >> import std.algorithm: algsort = sort;
> >>
> >>       arr.algsort
> >
> > Yep. The sort property on arrays will likely go away eventually, but until
> > it does, those are your options. But at least now it warns you.
> > Previously,
> > it just silently used the sort property, which does the wrong thing for
> > arrays of char or wchar.
> >
> > - Jonathan M Davis
>
> Do you mean property sort would sort individual chars? However, the
> following program indicates that it may have been fixed (i.e. made
> Unicode-aware):

It was my understanding that the built-in sort did indeed sort individual
chars, so if that's not currently the case, I expect that someone fixed it
at some point. Still, it should be removed from the language at some point.

- Jonathan M Davis




More information about the Digitalmars-d-learn mailing list