当我运行我的 `node file.js 1 23 44` 脚本时,它不会打印任何内容
Posted
技术标签:
【中文标题】当我运行我的 `node file.js 1 23 44` 脚本时,它不会打印任何内容【英文标题】:when I run my `node file.js 1 23 44` script, it doesn't prinout anything 【发布时间】:2021-07-22 05:18:22 【问题描述】:当我运行node file.js 1 23 45
时,它应该打印出One TwoThree FourFive
,但由于某种原因它没有打印出来。我认为脚本运行良好,因为我运行它没有任何问题,但它只是没有打印出任何东西。我错过了什么还是我完全错了?
const numbersMap = new Map([
[ "0", "Zero" ],
[ "1", "One"],
[ "2", "Two"],
[ "3", "Three"],
[ "4", "Four"],
[ "5", "Five"],
[ "6", "Six"],
[ "7", "Seven"],
[ "8", "Eight"],
[ "9", "Nine"]
]);
function toDigits (integers)
const r = [];
for (const n of integers)
const stringified = n.toString(10);
let name = "";
for (const digit of stringified)
name += numbersMap.get(digit);
r.push(name);
console.log(r.join());
【问题讨论】:
toDigits
没有被调用?
我该怎么做?@evolutionxbox
您可以使用toDigits()
调用该函数。如果您想传递参数,请查看***.com/questions/22213980/…
@evolutionxbox 我之前尝试过,但我得到了integers is not iterable
你能分享一下这个例子吗?我们无法调试不可见的代码
【参考方案1】:
您定义了 Map 和方法 toDigits
,但实际上并未调用该方法。您可以通过添加toDigits(...)
来做到这一点。
要解析命令行参数,您可以使用process.argv
。这会给你类似的东西
[
'node',
'/path/to/script/index.js',
'1',
'23',
'45'
]
您可以在代码中使用例如process.argv.slice(2)
。
const numbersMap = new Map([
[ "0", "Zero" ],
[ "1", "One"],
[ "2", "Two"],
[ "3", "Three"],
[ "4", "Four"],
[ "5", "Five"],
[ "6", "Six"],
[ "7", "Seven"],
[ "8", "Eight"],
[ "9", "Nine"]
]);
function toDigits (integers)
const r = [];
for (const n of integers)
const stringified = n.toString(10);
let name = "";
for (const digit of stringified)
name += numbersMap.get(digit);
r.push(name);
console.log(r.join());
// You can parse command line arguments like this:
const integers = process.argv.slice(2);
// and then pass them on
toDigits(integers);
【讨论】:
这不能回答问题? “当我运行我的node file.js 1 23 44
脚本时,它不会打印出任何东西”
你是对的。用一个关于如何解析命令行参数的简短示例更新了答案。
感谢您更新答案。
我认为这可能是@SebastianRichner、@evolutionxbox 的解决方案。我之前使用过process.argv.slice(2)
,但据我所知,输入是字符串而不是整数,所以现在我的问题是,node file.js 1 23 44
中的参数仍然是整数吗?
如果他们会像您提到的那样运行您的代码,那么您可以放心地假设这符合问题中的要求,因为它确实按预期打印了单词。以上是关于当我运行我的 `node file.js 1 23 44` 脚本时,它不会打印任何内容的主要内容,如果未能解决你的问题,请参考以下文章
运行 Node 脚本时更改当前 shell 上下文中的工作目录
Node.js:如何附加到正在运行的进程并使用控制台调试服务器?
Node.js:如何附加到正在运行的进程并使用控制台调试服务器?