String joining an array of structs or class instances implementing toString?
Edwin van Leeuwen via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Feb 11 05:54:34 PST 2016
On Thursday, 11 February 2016 at 13:43:49 UTC, pineapple wrote:
> Thanks! Does the map function iterate without constructing an
> extra list in-memory?
Yes, it is lazy, so it only calls toString when the result is
actually used (by the join call).
In case you do need to create an extra list you can use array as
follows:
import std.array : array;
auto result = parts.map!((part) => part.toString).array;
The call to array will "force" it to construct an array out of it.
More information about the Digitalmars-d-learn
mailing list