digitalmars.D.learn - tuples from text file
- codephantom (28/28) Dec 19 2017 so I have a text file containing 3 lines(e.g):
- Steven Schveighoffer (5/26) Dec 19 2017 Well, you need to know at compile time the types you are expecting. Then...
so I have a text file containing 3 lines(e.g): 5, "hello", 4.3 "hello", 4.3 "hello", "world", 1, 2, 3, 5.5 Now I want to create tuples from each line. However, (using line 1 as example), I get: Tuple!string("5, \"hello\", 4.3") but I really want: Tuple!(int, string, double)(5, "hello", 4.3) I know why - because a line is a string. But anyone got an idea on how to extract the string into separate elements that can be correctly 'tuple'd" according to the type of each element? // ------- module test; import std.stdio : writeln; import std.typecons; import std.string; import std.file : readText; void main() { string myFile= "tuples.txt"; // contains 3 lines as per examples above auto lineArr = readText(myFile).splitLines(); writeln( tuple(lineArr[0]) ); // doesn't give me the tuple I want. } //-----------
Dec 19 2017
On 12/19/17 7:47 PM, codephantom wrote:so I have a text file containing 3 lines(e.g): 5, "hello", 4.3 "hello", 4.3 "hello", "world", 1, 2, 3, 5.5 Now I want to create tuples from each line. However, (using line 1 as example), I get: Tuple!string("5, \"hello\", 4.3") but I really want: Tuple!(int, string, double)(5, "hello", 4.3) I know why - because a line is a string. But anyone got an idea on how to extract the string into separate elements that can be correctly 'tuple'd" according to the type of each element?Well, you need to know at compile time the types you are expecting. Then you just parse them out. You can't decide tuples at runtime. -Steve
Dec 19 2017