この動画はメンバー限定動画です

全ての講座が
月額990円で学び放題

講座の情報を見る

TypeScript入門点数の平均を求めるプログラムを作ろう①

記事を共有:

  • X
  • Pocket
  • クリップボードにコピー

それではここまでの知識を使って、ちょっと実ようなプログラムを作成しましょう。

ここでは、テストの点数や生徒のスコアをコマンドラインパラメータで複数指定すると、その平均値を求めるプログラムを作成します。作業の手順としては、次のようになります。

  1. コマンドラインからのパラメータを受け取る。
  2. 受け取った点数のリストを処理し、合計点、平均点、最高点、最低点を計算する。
  3. 計算結果を出力する。

コマンドラインパラメータを受け取ろう

まずは、コマンドラインのパラメータを受け取りましょう。「@types/node」がまだインストールできていない場合は、次のコマンドでインストールしておきます。

npm i --save-dev @types/node

そしたら、新しいファイルを作成しましょう。

// average.ts
const scores = Number(process.argv[2]);
console.log(score);

このプログラムを実行して、コマンドラインパラメータを指定すると、その値が画面に表示されます。

ただし、今回のプログラムは、複数のコマンドラインパラメータを受け取れないと行けません。コマンドラインパラメータはすでに紹介したとおり、「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

すべての値が表示されます。

続きは、次のレッスンで作成しましょう。

前のレッスン 次のレッスン