On Tuesday, 24 May 2016 at 20:03:14 UTC, pineapple wrote:
I would've expected this to work, but instead I get a compile
error. Is my syntax wrong? Is this just not a case that map can
handle, and I should be doing something else?
import std.algorithm : map;
import std.conv : to;
import std.stdio : writeln;
import std.string : join;
string test(Args...)(in Args items){
immutable string[items.length] itemstrings =
map!(to!string)(items);
return join(itemstrings, ", ");
}
unittest{
writeln(test(1, 2, 3, 4));
}
Works with 'only', 'array' and static array slicing.
import std.algorithm : map;
import std.range : only;
import std.conv : to;
import std.stdio : writeln;
import std.string : join;
import std.array : array;
string test(Args...)(in Args items){
immutable string[items.length] itemstrings =
map!(to!string)(only(items)).array;
return join(itemstrings[], ", ");
}
unittest{
writeln(test(1, 2, 3, 4));
}