Hi,
I'm following the example on
https://dlang.org/phobos/std_csv.html
```
class Layout
{
int value;
double other;
string name;
int extra_field; // un-comment to see the error
}
void main()
{
import std.csv;
import std.stdio: write, writeln, writef, writefln;
import std.algorithm.comparison : equal;
string text = "a,b,c\nHello,65,2.5\nWorld,123,7.5";
auto records =
text.csvReader!Layout(["b","c","a"]); // Read only these
column
foreach (r; records) writeln(r.name);
}
```
This works fine so far, but if I un-comment the extra_field line,
I got runtime error:
```
core.exception.ArrayIndexError@/dlang/dmd/linux/bin64/../../src/phobos/std/csv.d(1209):
index [3] is out of bounds for array of length 3
----------------
??:? _d_arraybounds_indexp [0x5565b4b974d1]
/dlang/dmd/linux/bin64/../../src/phobos/std/csv.d:1209 pure @safe
void std.csv.CsvReader!(onlineapp.Layout, 1, immutable(char)[],
dchar, immutable(char)[][]).CsvReader.prime() [0x5565b4b73ed2]
/dlang/dmd/linux/bin64/../../src/phobos/std/csv.d:1154 pure @safe
void std.csv.CsvReader!(onlineapp.Layout, 1, immutable(char)[],
dchar, immutable(char)[][]).CsvReader.popFront() [0x5565b4b73c80]
/dlang/dmd/linux/bin64/../../src/phobos/std/csv.d:1069 pure ref
@safe std.csv.CsvReader!(onlineapp.Layout, 1, immutable(char)[],
dchar, immutable(char)[][]).CsvReader
std.csv.CsvReader!(onlineapp.Layout, 1, immutable(char)[], dchar,
immutable(char)[][]).CsvReader.__ctor(immutable(char)[],
immutable(char)[][], dchar, dchar, bool) [0x5565b4b73ae8]
/dlang/dmd/linux/bin64/../../src/phobos/std/csv.d:366 pure @safe
std.csv.CsvReader!(onlineapp.Layout, 1, immutable(char)[], dchar,
immutable(char)[][]).CsvReader
std.csv.csvReader!(onlineapp.Layout, 1, immutable(char)[],
immutable(char)[][], char).csvReader(immutable(char)[],
immutable(char)[][], char, char, bool) [0x5565b4b735f3]
./onlineapp.d:18 _Dmain [0x5565b4b72ca4]
```
I'm just wondering how to work-around this?
Thanks.