Readlineモジュールの操作
メニューを表示するにはスワイプしてください
Readlineのはじめ方
Readlineモジュールは、Node.jsに組み込まれているモジュールで、対話的にユーザーからの入力を読み取る作業を簡単にします。プロンプトの作成、ユーザーの応答の収集、コマンドラインインターフェースでの対話型の質疑応答セッションの構築によく使用されます。
Readlineモジュールの理解
実際の例に進む前に、Readlineモジュールが提供する基本的な概念とメソッドについて確認します。
Readlineインターフェースの作成
Readlineモジュールを使用するには、通常、入力ストリームと出力ストリームを管理するReadlineインターフェースを作成することから始めます。インターフェースの作成方法は次のとおりです:
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const rlはReadlineインターフェースを表します。readline.createInterface({ input: process.stdin, output: process.stdout })は、標準入力(process.stdin)から読み取り、標準出力(process.stdout)に書き込むインターフェースを設定します。
ユーザー入力の収集
Readlineインターフェースを作成したら、それを使ってユーザーからの入力を収集できます。この目的で最も一般的に使用されるメソッドは rl.question() です:
rl.question("Please enter your name: ", (name) => {
// User input is available as `name`
console.log(`Hello, ${name}!`);
rl.close();
});
rl.question("Please enter your name: ", (name) => { ... })は指定したメッセージでユーザーに入力を促します。- コールバック関数
(name) => { ... }はユーザーが応答を入力したときに実行されます。 nameにはユーザーの入力内容が格納されます。
インターフェースの管理
Readlineインターフェースの使用が終わったら、必ず閉じることが重要です。これは rl.close() を使って行います。
対話型プロンプトの作成
基本を学んだので、知識を活用してコマンドラインのおみくじアプリケーションを作成します。ユーザーが名前を入力すると、アプリケーションがランダムな運勢メッセージを生成します。
ビデオで紹介されたコード例:
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const fortunes = [
"You will find unexpected joy in the little things.",
"A new opportunity will open doors for you.",
"Adventure is just around the corner.",
"Embrace change, and good things will follow.",
"Patience will bring you great rewards.",
];
rl.question("Welcome to the Fortune Teller! What's your name? ", (name) => {
const randomIndex = Math.floor(Math.random() * fortunes.length);
const randomFortune = fortunes[randomIndex];
console.log(`Hello, ${name}! Your fortune today: ${randomFortune}`);
rl.close();
});
この例では、上記の概念を応用してインタラクティブなコマンドラインアプリケーションを作成しています。ユーザーからの入力を受け取り、アプリケーションがランダムな応答を生成します。Readlineモジュールはコマンドラインインターフェースでのユーザーとのやり取りを簡素化し、インタラクティブなCLIアプリケーションの作成に最適です。
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください