On Sunday, 26 February 2017 at 21:50:38 UTC, Jordan Wilson wrote:
auto readNumMatCsv2 (string filePath, string ndv, string new_ndv){double[][] p_numArray; try { auto lines = File(filePath,"r").byLine; lines.popFront; // get read of header p_numArray = lines.map!(a => a.replace (ndv,new_ndv) .splitter (",") .map!(a => a.to!double) .array) .array; } catch (Exception e){e.msg.writeln; // this replaces "Could not read file. Quit here."} return p_numArray; }It took me quite a while to get the whole usage of range stuff like "map" and "filter" etc., but I think it's worth the effort.
This looks like more friendly readable compact code, where should be the goal. Thanks for your insights!
