演習課題「標準入力からの受け取り 1」
私たちは今、標準入力に与えられる文字列を確認したいと思っています。
そこでコードを書くことにしました。右のコードは不完全です。
これを編集して、input 変数に標準入力から得られる文字列を代入し、それを出力するプログラムを完成させてください。
プログラムを実行して、想定通り出力されれば演習課題クリアです!
期待する出力値
Hello World
#06:標準入力の取得
このチャプターでは、JavaScript(Node.js)の標準入力からの値の受け取り方を学びます。標準入力から値を受け取り、扱いやすいように配列に加工することを学び、プログラム外部からデータを読み込むことができるようになることを目的としています。
プログラムが実行されるとき、実行環境が自動的に割り当ててくれる入力です。
プログラムを実行する際に、プログラムの利用者がその仕組みを利用して入力を与えてくれます。
その入力がキーボードからでも、用意されたファイルでも、あるいは他のプログラムの実行結果でも、入力を与えられる側のプログラムは違いを意識する必要はありません。
プログラムを書く際は「とりあえず外部からの入力があり、それを受け取って利用することができる」ということだけを意識すれば良いことになっています。
Node.js Documentation
https://nodejs.org/api/fs.html#fs_fs_readfilesync_path_options
fs モジュールに定義されている readFileSync 関数を用いて、標準入力から同期的に入力を受け取ることができます。
この関数では入力の終端(EOF)まで一つの文字列として読み取ります。
MDN web docs
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/trim
" Hello World \n".trim() // => "Hello World"
のように動作します。
前後の空白文字が削除されますので、この場合は Hello と World の間にあるスペースは削除されていません。
MDN web docs
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/trimStart
MDN web docs
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/trimEnd
前の空白文字だけを削除したい場合は trimStart、末尾だけの場合は trimEnd がそれぞれ用意されています。