2015-12-11 112 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");