gpt4 book ai didi

javascript - Node.js提示跳过输入

转载 作者:搜寻专家 更新时间:2023-10-31 22:47:54 25 4
gpt4 key购买 nike

我目前正在参加 Coursera 类(class),并使用 node.js 代码进行练习以计算二次表达式。给出了所有代码,这个练习只是为了让我们了解 node.js,但我仍然遇到输入提示的问题。
代码在这里:

var quad = require('./quadratic');

var prompt = require('prompt');

prompt.get(['a', 'b', 'c'], function (err, result) {
if (err) { return onErr(err); }
console.log('Command-line input received:');
console.log('a: ' + result.a);
console.log('b: ' + result.b);
console.log('c: ' + result.c);

quad(result.a,result.b,result.c, function(err,quadsolve) {
if (err) {
console.log('Error: ', err);
}
else {
console.log("Roots are "+quadsolve.root1() + " " + quadsolve.root2());
}
});
});

如您所见,我正在使用 prompt 模块,但是当我输入 a 时,cmd 会跳过 b< 的输入 并要求我输入 `c,这反过来导致错误。

enter image description here

如何解决这个问题,为什么会发生?

最佳答案

欢迎使用 Windows 进行开发!除了 \n 行结束符之外,Windows 还使用回车符,这可能就是您看到此错误的原因。您可以像这样强制提示对正则表达式进行标记化,这有望解决您的问题:

  var schema = {
properties: {
a: { pattern: /^[0-9]+$/, message: 'a', required: true },
b: { pattern: /^[0-9]+$/, message: 'b', required: true },
c: { pattern: /^[0-9]+$/, message: 'c', required: true }
}
};

prompt.get(schema, function (err, result) {
// .. rest of your code
});

关于javascript - Node.js提示跳过输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33712927/

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