.sort vs sort(): std.algorithm not up to the task?
Timon Gehr via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Jun 8 01:19:10 PDT 2017
On 08.06.2017 03:57, Andrew Edwards wrote:
> Ranges may be finite or infinite but, while the destination may be
> unreachable, we can definitely tell how far we've traveled. So why
> doesn't this work?
>
> import std.traits;
> import std.range;
>
> void main()
> {
> string[string] aa;
>
> // what others have referred to as
> // standard sort works but is deprecated
> //auto keys = aa.keys.sort;
>
> // Error: cannot infer argument types, expected 1 argument, not 2
> import std.algorithm: sort;
> auto keys = aa.keys.sort();
>
> // this works but why should I have to?
> //import std.array: array;
> //auto keys = aa.keys.sort().array;
>
> foreach (i, v; keys){}
> }
>
> If I hand you a chihuahua for grooming, why am I getting back a pit
> bull? I simply want a groomed chihuahua. Why do I need to consult a
> wizard to get back a groomed chihuahua?
You are not giving away the chihuahua.
auto keys = aa.keys;
sort(keys);
foreach(i,v;keys){}
More information about the Digitalmars-d-learn
mailing list