作为一个前端开发,在牛客网的在线编程测试中选取了 javascript 作为语言,造就了一些踩坑经历。
常见的在线编程试题都有输入和输出:
而在 javascript(node)环境下,常用 nodejs 中的 readlline 来实现;
readline 模块提供了一个接口,用于一次一行地从可读流(如 process.stdin )读取数据,常用的使用形式如下:
const readline = require("require");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
rl.question("你是谁?", (answer) => {
console.log("你说你叫"+ answer);
rl.close();
})
rl.close() 方法会关闭 readline.Interface 实例,并放弃对 input 和 output 流的控制。 当调用时,将触发 ‘close’ 事件。
调用 rl.close() 不会立即停止 readline.Interface 实例触发的其他事件(包括 ‘line’)。
line事件
每当 input 流接收到行结束符(\r, \n, \r\n)时触发 line 事件,监听函数有一个参数为接收到的一行字符。
rl.on('line', (answer) => {
console.log(answer);
})