best way to convert string array of floats to a float array

Jonathan M Davis jmdavisProg at gmx.com
Tue Jul 24 20:23:32 PDT 2012


On Wednesday, July 25, 2012 04:06:57 Stephen Jones wrote:
> On Tuesday, 24 July 2012 at 02:05:18 UTC, Brad Anderson wrote:
> > On Tuesday, 24 July 2012 at 02:03:40 UTC, Stephen Jones wrote:
> >> When it comes to reading float data from a text file into a
> >> float array is there a better option than reading the data
> >> into a string array and then stepping though the array and
> >> converting the values into a float array:
> >> 
> >> string[] textData=read text data;
> >> float[] f;
> >> 
> >> foreach(string s; textData){
> >> 
> >>    f~=to!(float)(s);
> >> 
> >> }
> > 
> > auto flist = textDataRange.map!(a => a.to!float).array();
> 
> Thanks Brad. This converts the string into an auto type, but I
> need to dump the data in the auto into a float array:
> 
> auto f=map!(to!(float))(split(chompPrefix(s, "lno:")));
> 
> float[] dat;
> dat~=f;
> 
> The above won't compile complaining that "Cannot append type
> Result to type float[]"

map returns a lazy range. If you want an array, pass the result to 
std.array.array.

- Jonathan M Davis


More information about the Digitalmars-d-learn mailing list