Как прочитать файл построчно в Chapel

Я не вижу примера построчного чтения файла в Часовне Учебник файлового ввода-вывода. Предположим, у меня есть csv data.csv

NAME,RANK,SERIAL_NUMBER
Bootsy Collins,Bassist,8ntNoThing
Chappie,Robot,3.14159
Orange,Flavor,54321

Я хотел бы прочитать это построчно и разделить по пути. Что-то типа

 for line in file.lines {
    var (name, rank, serialNumber) = line.split(',')

Каков самый компактный способ сделать это?


person Brian Dolan    schedule 30.03.2018    source источник


Ответы (1)


Ниже в документации, он дает следующий пример кода (я взял первую строку из предыдущего блока кода):

var f = open(testfile, iomode.cwr);
var r = f.reader();
var line:string;
while( r.readline(line) ) {
   write("Read line: ", line);
}
r.close();

Я никогда раньше не писал Chapel, поэтому, предполагая, что ваш фрагмент кода верен, я предполагаю, что это будет выглядеть так:

var f = open(testfile, iomode.cwr);
var r = f.reader();
var line:string;
while( r.readline(line) ) {
   var (name, rank, serialNumber) = line.split(',')
}
r.close();
person scnerd    schedule 30.03.2018
comment
Одно примечание: похоже, вы хотите iomode.r, иначе он перезапишет ваш файл данных, а кортеж (name, rank,..) окажется незаконным в часовне. Спасибо - person Brian Dolan; 30.03.2018