put string[] into a appender without loop?
monarch_dodra via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Sep 22 04:11:10 PDT 2014
On Sunday, 21 September 2014 at 23:50:50 UTC, H. S. Teoh via
Digitalmars-d-learn wrote:
> On Sun, Sep 21, 2014 at 11:41:56PM +0000, AsmMan via
> Digitalmars-d-learn wrote:
>> I'd like to copy an array string into a appender!string() but
>> I can't
>> see how to do this without loop myself over the string array.
>> Is there
>> a native function or should I write it myself?
>
> Try this:
>
> import std.array : appender;
> import std.algorithm : joiner, copy;
>
> string[] arr = ["ab", "cd", "efg"];
> auto app = appender!string();
> arr.joiner.copy(app);
> assert(app.data == "abcdefg");
>
>
> T
FYI, that's probably scary expensive in terms of
encoding/decoding.
Using the "free" std.range.put should take care of everything,
natively.
More information about the Digitalmars-d-learn
mailing list