Sto cercando di elaborare un file di testo con nodo usando una chiamata da riga di comando come:
node app.js < input.txt
Ogni riga del file deve essere elaborata singolarmente, ma una volta elaborata la riga di input può essere dimenticata.
Usando il listener on-data dello stdin, ricevo il vapore di input tagliato da una dimensione di byte, quindi lo imposto.
process.stdin.resume();
process.stdin.setEncoding('utf8');
var lingeringLine = "";
process.stdin.on('data', function(chunk) {
lines = chunk.split("\n");
lines[0] = lingeringLine + lines[0];
lingeringLine = lines.pop();
lines.forEach(processLine);
});
process.stdin.on('end', function() {
processLine(lingeringLine);
});
Ma questo sembra così sciatto. Dover massaggiare attorno al primo e all'ultimo elemento dell'array line. Non esiste un modo più elegante per farlo?