2015-12-11 77 views
0

我想在程序已经运行时在控制台上写一些带有一些参数的命令(例如/添加5 5,它将打印10)。我应该怎么做?如何用控制台执行功能

+0

http://stackoverflow.com/questions/4351521/how-to-pa ss-command-line-arguments-to-node-js – Ido

+0

我不是说用一些参数启动应用程序,而是在程序执行期间编写一个命令 – irqize

回答

1

如何从控制台读取已解释in this answer,所以我会告诉你如何解析这些行。

示例方法是创建具有对您的函数的引用的对象,然后在解析输入字符串后通过名称调用它们。

我的示例使用Spread Operatorlet,它们需要以严格模式运行脚本("use strict";)。

示例代码:

"use strict"; 

var funs = {}; 

funs.add = function add (x, y) { 
    if(x === undefined || y === undefined) { 
    console.log("Not enough arguments for add!"); 
    return; 
    } 
    console.log("Result:", (+x) + (+y)); 
} 

function parseInput(input) { 
    if(input.charAt(0) === "/") { 
    let tmp = input.substring(1); 
    tmp = tmp.split(" "); 
    let command = tmp[0]; 
    let args = tmp.slice(1); 

    let fun = funs[command]; 

    if (fun === undefined) { 
     console.log(command, "command is not defined!"); 
     return; 
    } 
    fun(...args); 
    } 
} 

parseInput("/add 5 6");