2012-03-06 13 views
2

jsコマンドラインウィザードを作成するにはnode.jsのreadlineにデフォルトの回答を提供する方法

ウィザードはrl.question(query, callback)メソッドを使用してユーザーに何か質問をします。

問題は、ユーザーがデフォルトの回答を確定するか、デフォルトの回答を編集するか、またはデフォルトの回答をキャンセルしてEnterを押すことができるように、デフォルトの回答を提供することですその質問をスキップします。このような

何か:

あなたの好きな色は何ですか? Red_

ユーザーは、Enterキーを押した場合:ユーザーはレッドを中止し、Enterキーを押しますならば答えは グリーンになります:答えは「」になり、答えはグリーンへのユーザーの変更赤であれば レッドになりますウィザードは次の質問にスキップします。

Node.jsでこのようにする方法を知っていますか?

答えて

2

rl.question呼び出しの後でrl.writeを使用すると、デフォルト値をttyに追加できます。

例:!それだ

var readline = require('readline'), 
rl = readline.createInterface(process.stdin, process.stdout); 

rl.question('What is your favorite food? ', function(answer) { 
     console.log('Oh, so your favorite food is ' + answer); 
}); 
rl.write('Pizza'); 
+0

おかげでたくさんの男。 – Fab