On Tuesday, 18 December 2018 at 12:07:37 UTC, Andrey wrote:
Hi,
Have array:
enum array = ["qwerty", "a", "baz"];
Need to reverse and sort array elements to get this result:
[a, ytrewq, zab]
Did this:
enum result = array.map!(value => value.retro()).sort();
Got:
Error: template std.algorithm.sorting.sort cannot deduce
function from argument types !()(MapResult!(__lambda1,
string[])), candidates are:
/usr/include/dmd/phobos/std/algorithm/sorting.d(1849,1):
std.algorithm.sorting.sort(alias less = "a < b", SwapStrategy
ss = SwapStrategy.unstable, Range)(Range r) if ((ss ==
SwapStrategy.unstable && (hasSwappableElements!Range ||
hasAssignableElements!Range) || ss != SwapStrategy.unstable &&
hasAssignableElements!Range) && isRandomAccessRange!Range &&
hasSlicing!Range && hasLength!Range)
How to solve the problem?
Did you try this ?
import std.stdio;
import std.algorithm;
import std.range;
import std.conv;
void main()
{
enum input = ["qwerty", "a", "baz"];
enum output = input.map!(value =>
value.retro().to!string()).array.sort();
writeln(input);
writeln(output);
}