(2)命令行參數(shù)

2018-02-24 16:05 更新

要求

編寫一個簡單的程序,使其能接收一個或者多個命令行參數(shù),并且在終端(標(biāo)準(zhǔn)輸出 stdout)中打印出這些參數(shù)的總和。

提示

可以通過 process 這個全局對象來獲取命令行中的參數(shù)。process 對象 擁有一個名為 argv 的屬性,該屬性是一個數(shù)組,數(shù)組中包含了整條命令的所有部分。首先,請先編寫一個包含如下帶簡易代碼的程序來熟悉一下:

console.log(process.argv)

通過執(zhí)行命令 node program.js 并在后面多加幾個參數(shù),來運行我們的程序,比如:

$ node program.js 1 2 3

這樣,就會得到這樣一個數(shù)組:

[ 'node', '/path/to/your/program.js', '1', '2', '3' ]

需要考慮的問題是,如何去循環(huán)遍歷這些代表數(shù)字的參數(shù),從而得到他們的總和。process.argv數(shù)組的第一個元素永遠(yuǎn)都會是node,并且第二個參數(shù)總是指向程序的路徑,所以,應(yīng)該從第三個元素(index 是 2)開始,依次累加,直到數(shù)組末尾。

需要注意的是,所有 process.argv 中的數(shù)組的元素都是字符串類型的,因此,需要將它們強制轉(zhuǎn)換成數(shù)字??梢酝ㄟ^加上 + 前綴,或者將其傳給 Number() 來解決。例如: +process.argv[2] 或者 Number(process.argv[2])。

代碼

var result = 0

for (var i = 2; i < process.argv.length; i++)
    result += Number(process.argv[i])

console.log(result)
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號