Pythonのraw_input()
は、矢印キーのようなすべてのbashの機能を保持し、検索を逆...Pythonのraw_input()と同じ効果を得る方法はありますか?
しかし、私はstdin
からの読み取りにPerlの<>
を使用する場合、機能のどれもが任意のより多くのサポートされていません...最も簡単です何
Perlでraw_input
としてそれを行う方法? the Python docsによると
Pythonのraw_input()
は、矢印キーのようなすべてのbashの機能を保持し、検索を逆...Pythonのraw_input()と同じ効果を得る方法はありますか?
しかし、私はstdin
からの読み取りにPerlの<>
を使用する場合、機能のどれもが任意のより多くのサポートされていません...最も簡単です何
Perlでraw_input
としてそれを行う方法? the Python docsによると
、readlineモジュールが読み込まれていれば
、その後、raw_input()は精緻な行編集およびヒストリ機能を提供するために、それを使用します。
元記事へのコメントで述べたように、あなたはそれらの機能にアクセスするには、このようTerm::ReadLineやTerm::ReadLine::Gnuとして、適切なモジュールを使用する必要があります。これはPythonと変わりはありません。readlineの機能が必要な場合は、暗黙的に明示的に明示的にreadlineモジュールをロードする必要があります。
ただし、readlineで処理したい入力には、<>
ではなく、選択したreadlineモジュールの入力関数を使用する必要があります。 (Term::ReadLine::Perlには、Term :: ReadLine :: Perl :: Tiedモジュールが含まれています。<>
を無効にして、コードを変更することなくreadlineを実行できますが、T :: RL :: Pは2009年以降に更新されておらず、あなたがそれを使う方法を理解する時間が十分にない限り、私はそれをお勧めしません)。
デモがありますか? – lexer
@eryksun、なぜ、ファンシーファンシーエフェクトを得るにはもっと多くの作業が必要ですか? – lexer
@eryksun、私は可能な限り '<>'を使うプロジェクトを持っていますが、 '<>'のすべての出現を 'Term :: ReadLine'に変更しなければなりませんか? – lexer
あなたのプログラムは変更せずに、パイプ入力をrlwrapユーティリティを使ってパイプに残すことができます: 'rlwrap | perl yourscript.pl' – ysth