How to apply a function to a container/array ?

Ali Çehreli via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Oct 15 17:17:26 PDT 2014


On 10/15/2014 04:26 PM, Domingo wrote:

> Ideally I want to use something like this:

import std.stdio;
import std.string;
import std.algorithm;
import std.conv;

void main()
{
     string[] ar = [" dad ", " blue "];
     writeln(typeid(ar));

     // a) foreach for purely side-effect expressions:
     foreach (s; ar) {
         writeln(s);
     }

     // b) Element format specifiers %( %) and %|
     writefln("%-(<%s>%|, %)", ar);

     // Again:
     auto ar_striped = ar.map!strip;
     writefln("%-(%s%)", ar_striped);

     alias stringize = map!(to!string);
     auto sz = stringize([ 1, 2, 3, 4 ]);
     writeln(typeid(sz));
     assert(equal(sz, [ "1", "2", "3", "4" ]));
}

Ali



More information about the Digitalmars-d-learn mailing list