標準入力は readline
で取得する。
ここではサンプルとして、FFのマジックポットを作る。マジックポットはエリクサーというアイテムを強請ってくるモンスターで、エリクサーを渡さないと攻撃してくる。エリクサーをあげれば去っていく。
ユーザーに自由に入力させる
ブラウザで言うところの prompt()
のように、ユーザーに値を入力させてみる。
以下のコードをファイルに保存して node
コマンドで実行する。
実行するとコンソールに以下のように表示され、ユーザーの入力が可能な状態となる。
何も入力せずにEnterキーを押しても、永遠に「エリクサーちょうだい!」と言われ続ける。
試しに「だめ」「あげない」などと入力してEnterキーを押すと、暴言を吐かれたうえ、また「エリクサーちょうだい!」に戻る。
仕方なく「あげる」「どうぞ」などと入力すれば、マジックポットはお礼を言って、プログラムは終了する。
ユーザーにYes/Noで答えさせる
上のサンプルは、実際にはYes/Noで回答できる程度の質問だった。
ブラウザで言うところの confirm()
みたいなものを作って、それを使うように変えてみる。
実行するとコンソールに以下のように表示され、ユーザーに y か n の入力を促す。
ここでは何も入力しないとNo扱いにしているので、何も入力しなかろうが n を入力しようが、同様に暴言を吐かれる。
y を入力すれば、マジックポットは満足して終了する。
以上。