コマンドライン引数
CoddyのNode.jsジャーニー「Node.jsの基礎」セクションの一部。レッスン 3/33。
メモツールは、名前の後に何を入力したかを把握する必要があります。
process.argvは、コマンド内の単語を並べた配列です。Nodeへのパス、ファイルへのパス、そして入力した単語が含まれます。slice(2)を使うと、入力した単語だけが残ります。
// node greet.js Ada
const args = process.argv.slice(2);
console.log(`Hello, ${args[0]}!`);node greet.js Adaを実行すると、Hello, Ada!が出力されます。各単語はそれぞれ独立した文字列として渡されるため、node greet.js Ada Lovelaceを実行すると、argsの値は['Ada', 'Lovelace']になります。単語を1つの文字列に戻すには、join(' ')を使います。['Ada', 'Lovelace'].join(' ')は'Ada Lovelace'になります。引用符で囲むと単語が1つにまとまります。node greet.js "Ada Lovelace"を実行すると、1つの文字列として渡されます。
チャレンジ
簡単メモツールは、node notes.jsの後に入力した内容を知る必要があります。ここでは、コマンドからメモを読み取り、その内容をそのまま表示します。
notes.jsで、process.argvを使ってnode notes.jsの後に入力された単語を読み取ります。最初の単語はコマンドのaddです。今のところ、これは常にaddです。その後に続く単語はすべてメモです。- メモの単語は個別の文字列として渡されます。単語の間にスペースを1つ入れて、1つの文字列につなげます。
- 最初に用意されている
console.log('Adding:')の行を置き換えます。1行を出力します。Adding:の後にメモを続けます。
node notes.js add Buy milkの場合、プログラムは次のように出力します。
Adding: Buy milknode notes.js add Call Ada tonightの場合、次のように出力します。
Adding: Call Ada tonightAdding:の後にスペースを1つ入れます。
試してみましょう: ターミナルで、$ node notes.jsの後の入力欄にadd Buy milkと入力して、Enterキーを押します。Adding: Buy milkと表示されます。次に、add Call Ada tonightのように、自分でメモを入力します。最後に、addだけを入力します。メモがないため、その後に何も続かないAdding:が表示されます。今のところはこれで問題ありません。
自分で試してみよう
// メモツールはここから始まります。
// node notes.js add Buy milk を実行すると、Adding: Buy milk と表示されるはずです。
console.log('Adding:');
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Node.jsの基礎のすべてのレッスン
自分で練習してみよう: Expressプレイグラウンド