//classは巻き上げられないので最初に書く
class inputClass{
constructor(){
this.inputCounter = 0;
this.list = [];
this.len = 0
}
append (value){
this.list.push(value);
this.len++;
}
input(){
if (this.inputCounter < this.list.length){
return this.list[this.inputCounter++];
}else{
return '';
}
}
}
let data = new inputClass();
let reader = require("readline").createInterface({
input: process.stdin,
output: process.stdout
});
reader.on("line", (line) => {
data.append(line.split(' '));
})
reader.on("close", () => {
//読み込み行数を保持するlenプロパティで末尾まで取り出し
for (let i=0; i < data.len; i++){
console.log(data.input());
}
});
入力
1 1
2 2
a
c
f g h
出力
[ '1', '1' ]
[ '2', '2' ]
[ 'a' ]
[ 'c' ]
[ 'f', 'g', 'h' ]
概ね期待通りに実装できた。 イテレーターで実装したほうが便利だと作った後に気づいたが ひとまず実装したのでよしとしたい。