gpt4 book ai didi

javascript - 读取用户输入直到答案正确

转载 作者:行者123 更新时间:2023-12-02 23:17:29 24 4
gpt4 key购买 nike

我有一个猜谜游戏,用户必须猜出一个单词。我使用 Readline 模块来获取用户的输入。当用户的猜测错误时,应该重新提出问题。这是我的代码:

const readline = require("readline").createInterface({
input: process.stdin,
output: process.stdout
});

let answer;
const word = "Pancakes"

while (answer != word) {
readline.question("Guess the word: ", input => {
answer = input;
readline.close();
});
}

我也已经尝试过这个:

const word = "Pancakes";
let isright = false;

while (!isright) {
readline.question("Guess the word: ", input => {
isright = input == word;
readline.close();
});
}

它具有相同的结果:控制台闪烁“猜猜这个词:”,所以我假设循环在获得用户输入之前就继续进行。这是为什么?

最佳答案

这是因为 while 是同步的,而 readline.question 是异步的。您需要递归调用该问题。或者需要设置一个提示并递归提示另一个提示,依此类推。

const readline = require("readline").createInterface({
input: process.stdin,
output: process.stdout
});

const word = "Pancakes"
readline.setPrompt('Guess the word: ');
readline.prompt();

readline.on('line', function(input) {
if(input !== word){
readline.prompt();
}else{
readline.close()
}
}).on('close', function() {
console.log('Closed');
process.exit(0);
});

关于javascript - 读取用户输入直到答案正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57110124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com