Pergunta

Eu construí várias funções auxiliares específicas do trabalho que podem ser úteis para outros membros da minha equipe e Mdash. Mas eu escrevi todos eles no ELISP da Emacs, e fazê -los converter do Notepad ++ não vai acontecer.

Então, estou pensando em converter as funções em Perl. Sem problemas.

Exceto que eu uso a conclusão do IDO o tempo todo para limitar as respostas:

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

Editar: a leitura de conclusão da IDO é semelhante a completando leitura, exceto que todas as opções são visíveis e podem ser selecionadas via ciclismo [teclas de seta, geralmente] ou conclusão de digitação. No exemplo acima, o prompt seria

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

As seleções podem ser feitas no item mais à esquerda, pressionando o RET ou por digitação parcial (neste caso, as primeiras letras são todas únicas, de modo que isso é tudo o que seria necessário, e o item correspondente se tornaria o mais esquerdo).

Nil no exemplo é um parâmetro não utilizado, mas "t" requer uma correspondência exata - por exemplo, o usuário deve fazer uma das seleções. A função retorna uma string, como "initrade".

Minhas "funções auxiliares" são para necessidades internas - abrindo um registro de erros específico, restaurando um lote para o servidor etc. Para essas operações, o usuário precisa especificar um ambiente de teste ou produção, cliente, estágio etc. em quase todos os casos , essas são seleções de string que são usadas para criar outro comando de shell. Se um item numérico for retornado, isso poderá ser re-traduzido para uma string-mas como as seleções geralmente são a string necessária, seria bom se essa etapa pudesse ser ignorada. [End Edit

Existe um equivalente perl? Eu olhei Termo :: Prompt que oferece um menu numerado ... mais próximo que encontrei. Isso não é tão bonito quanto a conclusão e eu ainda teria que converter um resulto numérico para trás em uma string (não um problema importante; apenas irritante).

Ao compor isso, notei que usei o termo 'menu', assim como algumas pesquisas e surgiu com Termo :: menus. Ainda não tentei este.

Foi útil?

Solução

Termo :: ReadLine pode fazer o que você está procurando, embora provavelmente seja mais como 'Conclusão de leitura' do que a 'Ler-Ler-Ler-Ler'.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top