How to apply a function to a container/array ?
    Domingo via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Wed Oct 15 18:32:27 PDT 2014
    
    
  
Even better would be if phobos provided it out of the box:
---------------
import std.stdio;
import std.algorithm;
import std.array;
import std.string;
import std.conv;
void stripStringArrayInPlace(T)(T[] ar){for(long i=0, 
len=ar.length; i < len; ++i) ar[i] = ar[i].strip;}
T[] stripStringArray(T)(T[] ar){return ar.map!strip.array;}
T[] splitString(T)(T str, T sep=","){return 
str.split(sep).map!strip.array;}
void main() {
	
      auto str = "  abor   , France   , Spain   ";
      auto arstr = str.splitString;
      arstr.writeln;	
     auto ar = [" dad ", " blue "];
     ar.writeln;
     auto arStriped = ar.map!strip.array;
     arStriped.writeln;
	
     auto ar2 = ar.stripStringArray;
     ar2.writeln;
     ar.stripStringArrayInPlace;
     ar.writeln;
     alias stringize = map!text;
     auto sz = stringize([ 1, 2, 3, 4 ]);
     assert(sz.equal(["1", "2", "3", "4"]));
}
---------------
    
    
More information about the Digitalmars-d-learn
mailing list