質問

チームの他のメンバーに役立つ可能性のある作業固有のヘルパー関数を多数作成しました。しかし、私はそれらをすべてEmacsのElispで書いたので、Notepad ++から変換することはできません。

それで、関数をPerlに変換することを考えています。問題ありません。

応答を制限するために常にido-completionを使用する場合を除きます:

  (setq client (ido-completing-read "Select a Client: " '("IniTrade" "HedgeCorp" "GlobalTech" "OCP") nil t))

編集:ido-completing-readは completingと似ています。 -read 。ただし、すべてのオプションが表示され、サイクリング[通常は矢印キー]または入力完了を介して選択できます。上記の例では、プロンプトは次のようになります

  Select a Client: {IniTrade | HedgeCorp | GlobalTech | OCP}

選択は、RETを押すか、部分的に入力することで左端の項目で行うことができます(この場合、最初の文字はすべて一意であるため、必要なのはそれだけで、一致する項目が左になります-最も)。

この例の

nilは未使用のパラメーターですが、「t」は完全に一致する必要があります。たとえば、ユーザーはいずれかを選択する必要があります。この関数は、" IniTrade"などの文字列を返します。

私の「ヘルパー関数」"特定のエラーログを開く、サーバーにバッチを復元するなど、内部のニーズに対応します。これらの操作では、ユーザーはテスト環境または運用環境、クライアント、ステージなどを指定する必要があります。ほとんどの場合、これらは文字列選択です別のシェルコマンドをビルドするために使用されます。数値項目が返された場合、それを文字列に再変換できますが、通常、選択項目は必要な文字列であるため、そのステップをスキップできると便利です。 [編集の終了]

Perlに相当するものはありますか? Term :: Prompt 番号付きメニューが表示されます。それはido-completionほどきれいではなく、数値結果を文字列に逆変換する必要があります(大きな問題ではなく、単に迷惑です)。

これを作成しているときに、「メニュー」という用語を使用していることに気付いたので、さらに検索を行い、 Term :: Menus。まだ試していません。

役に立ちましたか?

解決

Term :: ReadLineは、おそらく「ido-completing-read」よりも「completing-read」に似ていますが、探していることを実行できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top