Sort in return statement

rjframe dlang at ryanjframe.com
Sat Dec 9 02:45:35 UTC 2017


On Sat, 09 Dec 2017 02:34:29 +0000, codephantom wrote:

> Anyone got ideas on how to get sort() working in the *return*
> statement?
> 
> //------------
> 
> ushort[] draw8Numbers()
> {
>      import std.meta : aliasSeqOf;
>      import std.range : iota;
>      ushort[] numbers = [ aliasSeqOf!(iota(1,46)) ];
> 
>      import std.random : randomShuffle;
>      randomShuffle(numbers);
> 
>      import std.range : take;
>      import std.algorithm.sorting : sort;
>      return numbers.take(8); /* ok */
>      //return sort(numbers.take(8)); /* I want this, but it won't
> work. */
> 
> }
> 
> // -------------


`sort` returns a SortedRange of ushorts, not an array of ushorts. Make it:

```
import std.array : array;
return sort(numbers.take(8)).array;
```

--Ryan


More information about the Digitalmars-d-learn mailing list