digitalmars.D.learn - How to add elements to dynamic array of dynamic array
- katuday (18/18) Jun 07 2014 I am very new to D. How do I add elements to a dynamic array of
- bearophile (14/22) Jun 07 2014 Here you are defining two types (and in D idiomatically types are
- katuday (2/24) Jun 07 2014 Thank you.
I am very new to D. How do I add elements to a dynamic array of dynamic array. This is my code that fails to compile. void ex1() { alias the_row = string[]; alias the_table = the_row[]; File inFile = File("account.txt", "r"); while (!inFile.eof()) { string row_in = chomp(inFile.readln()); string[] row_out = split(row_in,"\t"); the_table ~= row_out; //Error: string[][] is not an lvalue } writeln(the_table.length); // Error: string[][] is not an expression }
Jun 07 2014
katuday:I am very new to D.Welcome to D :-)alias the_row = string[]; alias the_table = the_row[];Here you are defining two types (and in D idiomatically types are written in CamelCase, so TheRow and TheTable).File inFile = File("account.txt", "r");This is enough: auto inFile = File("account.txt", "r");while (!inFile.eof()) { string row_in = chomp(inFile.readln());This should be better (untested): foreach (rawLine; inFile.byLine) { auto row = rawLine.chomp.idup.split("\t");the_table ~= row_out; //Error: string[][] is not an lvaluetheTable is not a variable, it's a type, so you need to define it like this: string[][] table; Bye, bearophile
Jun 07 2014
On Saturday, 7 June 2014 at 17:04:36 UTC, bearophile wrote:katuday:Thank you.I am very new to D.Welcome to D :-)alias the_row = string[]; alias the_table = the_row[];Here you are defining two types (and in D idiomatically types are written in CamelCase, so TheRow and TheTable).File inFile = File("account.txt", "r");This is enough: auto inFile = File("account.txt", "r");while (!inFile.eof()) { string row_in = chomp(inFile.readln());This should be better (untested): foreach (rawLine; inFile.byLine) { auto row = rawLine.chomp.idup.split("\t");the_table ~= row_out; //Error: string[][] is not an lvaluetheTable is not a variable, it's a type, so you need to define it like this: string[][] table; Bye, bearophile
Jun 07 2014