この動画はメンバー限定動画です
全ての講座が
月額990円で学び放題
それではここまでの知識を使って、ちょっと実ようなプログラムを作成しましょう。
ここでは、テストの点数や生徒のスコアをコマンドラインパラメータで複数指定すると、その平均値を求めるプログラムを作成します。作業の手順としては、次のようになります。
- コマンドラインからのパラメータを受け取る。
- 受け取った点数のリストを処理し、合計点、平均点、最高点、最低点を計算する。
- 計算結果を出力する。
コマンドラインパラメータを受け取ろう
まずは、コマンドラインのパラメータを受け取りましょう。「@types/node」がまだインストールできていない場合は、次のコマンドでインストールしておきます。
npm i --save-dev @types/node
そしたら、新しいファイルを作成しましょう。
// average.ts
const scores = Number(process.argv[2]);
console.log(score);
このプログラムを実行して、コマンドラインパラメータを指定すると、その値が画面に表示されます。
![](https://tomosta.jp/wp-content/uploads/2024/05/2024-05-25_16-24-24-1024x98.png)
ただし、今回のプログラムは、複数のコマンドラインパラメータを受け取れないと行けません。コマンドラインパラメータはすでに紹介したとおり、「process.argv」という配列として渡されます。そのため、繰り返し構文を利用して複数受け取る事ができます。
ただし、コマンドラインパラメータは添え字が2以降のものだけになるので気をつけましょう。これを処理するプログラムを作成します。いったん、すべてのプログラムを削除して書き換えましょう。
const score: number[] = [];
for (let i=2; i<process.argv.length; i++) {
score.push(Number(process.argv[i]));
}
for構文で、2から配列の個数分だけ繰り返し、配列のpushメソッドで要素を追加していき、すべてのパラメータを受け取っています。実際に次のようにして内容を確認しましょう。
console.table(score);
次のように呼び出してみましょう。
node js/avarage.js 100 80 50 98
すべての値が表示されます。
![](https://tomosta.jp/wp-content/uploads/2024/05/image-106-1024x576.png)
続きは、次のレッスンで作成しましょう。