Code
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
const line = await readline(); // 读取一行
const arr = line.split(" "); // 按空格拆分字符串
console.log(arr[arr.length - 1].length); // 输出最后一个单词的长度
})();
代码详解
代码详解
-
输入工具初始化:
const rl = require("readline").createInterface({ input: process.stdin });
readline
是 Node.js 提供的模块,用于处理输入输出。createInterface
创建了一个输入接口,用于从标准输入流(process.stdin
)中读取内容。
-
异步迭代器初始化:
var iter = rl[Symbol.asyncIterator]();
rl[Symbol.asyncIterator]()
将rl
转换为异步迭代器。- 允许通过
iter.next()
异步地按行读取用户输入。
-
简化读取函数:
const readline = async () => (await iter.next()).value;
- 定义
readline
函数,用于每次读取一行输入。 await iter.next()
返回一个对象{ value: "输入内容", done: false }
。.value
提取读取到的内容(即用户输入的字符串)。
- 定义
-
读取和处理逻辑:
const line = await readline(); // 读取一行 const arr = line.split(" "); // 将字符串按空格分割成单词数组 console.log(arr[arr.length - 1].length); // 输出最后一个单词的长度
- 读取输入后,按空格分割成数组,取最后一个元素的长度并打印。