HighLineは、コンソールの入出力を容易にするための Ruby ライブラリです。入力を要求して検証できるメソッドを提供します。Python で同様の機能を提供するものはありますか?
HighLine の機能を示すには、次の例を参照してください。
require 'highline/import'
input = ask("Yes or no? ") do |q|
q.responses[:not_valid] = "Answer y or n for yes or no"
q.default = 'y'
q.validate = /\A[yn]\Z/i
end
「Yes or No?」と尋ね、ユーザーに何かを入力させます。ユーザーが y または n (大文字と小文字を区別しない) を入力しない限り、"Answer y or n for yes or no" が出力され、ユーザーが回答を再度入力できるようになります。また、ユーザーが Enter キーを押すと、デフォルトで y になります。最後に、入力が完了すると、入力が に格納されinput
ます。ユーザーが最初に「EH???」と入力した場合の結果の例を次に示します。そして「y」:
はい、もしくは、いいえ?|y| え??? はいまたはいいえで y または n と答えてください ? y
Pythonで同じことを行う同様に簡単な方法はありますか?