digitalmars.D.learn - Chaining input
- Chris (14/14) May 08 2015 I have the following code that converts input like
- Robert burner Schadek (13/14) May 08 2015 It looks like your reading some kind of comma seperated values
- Chris (5/21) May 08 2015 Yeah, I actually wanted to have a closer look at std.csv. But in
I have the following code that converts input like blah, blub, gobble, dygook to string[] auto f = File("file.txt", "r"); auto words = f.byLine .map!( a => a.to!(string) .splitter(", ") .filter!(a => a.length) ) .copy(appender!(string[])).data; I'm sure there is room for improvement. D is pretty cool in this way. Once you get used to this kind of code, you're spoiled forever.
May 08 2015
On Friday, 8 May 2015 at 11:00:01 UTC, Chris wrote:I'm sure there is room for improvement.It looks like your reading some kind of comma seperated values (csv). have a look at std.csv of phobos ``` foreach(record; file.byLine.joiner("\n").csvReader!(Tuple!(string, string, int))) { writefln("%s works as a %s and earns $%d per year", record[0], record[1], record[2]); } ```
May 08 2015
On Friday, 8 May 2015 at 11:14:43 UTC, Robert burner Schadek wrote:On Friday, 8 May 2015 at 11:00:01 UTC, Chris wrote:Yeah, I actually wanted to have a closer look at std.csv. But in this case the input format may change (comments, keywords etc.), so I might need a customized parser anyway.I'm sure there is room for improvement.It looks like your reading some kind of comma seperated values (csv). have a look at std.csv of phobos ``` foreach(record; file.byLine.joiner("\n").csvReader!(Tuple!(string, string, int))) { writefln("%s works as a %s and earns $%d per year", record[0], record[1], record[2]); } ```
May 08 2015