我有一个问题,也许我会从你那里找到答案。
好吧,我想写一个解释器,它接收一个命令作为nodejs
中的参数的文件例如:
node test.js robot.s
robot.s包含:
# Move
FORWARD 100
COMMAND_WITH_ERROR
BACKWARD 6
我有什么想法可以开始吗?
谢谢
答案 0 :(得分:0)
要阅读参数,您应该查看https://nodejs.org/docs/latest/api/process.html#process_process_argv
process.argv.forEach((val, index) => {
console.log(`${index}: ${val}`);
});
如链接中所列,这应该打印索引0指向nodejs二进制文件的路径,索引1是您尝试使用节点执行的文件的路径,2和更高版本为您提供"实际&#34 ;参数。
所以你可以做这样的事情来阅读文件
fs = require('fs');
parameter = process.argv[2];
fs.readFile("./" + parameter, function(err, data) {
//do things with the data from the file
因为我不完全知道你的口译员应该拥有哪些命令以及你想如何构建它,所以我现在可以提供帮助。但至少应该让你开始。