1

入力を読み取り、結果を出力してループする小さなプログラムを作成しました。のようにREPL

そして、キーボードのアップキーを押してこの入力を編集したときに、以前に入力した入力を取得したいと思いbashますzsh。実装についてはわかりません。私もウェブを検索しましたが、欲しい結果がありませんでした。誰かが私に道を示してくれませんか?または、読む記事をいくつか教えてください。

ポイントは: 画面上に編集可能な行を印刷する方法は?

4

3 に答える 3

4

個人的な経験はありませんが、Term::ReadLineが履歴付きのコマンド編集機能を提供することは理解しています。それはperl配布の一部でもあります。

于 2013-03-28T03:22:21.750 に答える
2

あなたはただする必要があります:

  • bash や zsh と同じように、ユーザー入力の履歴を保存します。
  • bash や zsh と同じように、キーが押されたことをリッスンします。
  • を押すと最後のコマンドを表示します。ご想像のとおり、bash と zsh です。

これがプログラミングのすべてです。解決方法がわからない大きな問題を、解決方法がわかっている小さな問題に分解するか、解決方法をより簡単に理解できるようにすることです。したがって、上にリストしたことのいずれかを行う方法がわからない場合は、コードを作成するか、API ドキュメントを読むか、Google/Stack Overflow で回答を探すか、または - もう一度 - 下位の問題に分割してみてください。

于 2013-03-28T03:11:09.580 に答える
2

あなたのポイントが「印刷」である場合、おそらくTerm::Screenが必要です。ここにコード例: code .

そうでなく、あなたのポイントが " history " なら、man/perldoc Term::ReadLine.

于 2013-03-28T06:28:23.560 に答える