Ger*_*api 5 javascript node.js
我目前正在Coursera上学习课程,并使用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());
}
});
});
Run Code Online (Sandbox Code Playgroud)
如你所见,我正在使用prompt模块,但当我输入输入时a,cmd正在跳过输入b并请求我输入`c,这反过来导致错误.
如何解决这个问题,为什么会这样?
欢迎来到 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
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
542 次 |
| 最近记录: |