Domanda

Ho creato una serie di funzioni di supporto specifiche per il lavoro che potrebbero essere utili per gli altri membri del mio team & amp; mdash. Ma li ho scritti tutti in Elisp di Emacs e non riuscirò a farli convertire da Notepad ++.

Quindi, sto pensando di convertire le funzioni in Perl. Nessun problema.

Tranne il fatto che utilizzo sempre l'ido-completamento per limitare le risposte:

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

EDIT: ido-completing-read è simile al completing -read , tranne per il fatto che tutte le opzioni sono visibili e possono essere selezionate scorrendo [tasti freccia, di solito] o digitando-completamento. Nell'esempio sopra, il prompt dovrebbe apparire come

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

le selezioni possono essere fatte sull'elemento più a sinistra premendo RET o digitando parzialmente (in questo caso, le prime lettere sono tutte uniche, quindi è tutto ciò che sarebbe necessario e l'elemento corrispondente diventerebbe la sinistra- maggior parte).

zero nell'esempio è un parametro inutilizzato, ma " t " richiede una corrispondenza esatta, ad esempio l'utente deve effettuare una delle selezioni. La funzione restituisce una stringa, ad esempio " IniTrade " ;.

Le mie funzioni "helper" " sono per esigenze interne: apertura di un log degli errori specifico, ripristino di un batch sul server, ecc. Per queste operazioni, l'utente deve specificare l'ambiente di test o di produzione, il client, lo stage, ecc. In quasi tutti i casi, si tratta di selezioni di stringhe che sono usati per costruire un altro comando shell. Se viene restituito un elemento numerico, che a sua volta potrebbe essere tradotto nuovamente in una stringa, ma poiché le selezioni sono in genere la stringa richiesta, sarebbe bello se quel passaggio potesse essere saltato. [fine EDIT]

Esiste un equivalente Perl? Ho esaminato Term :: Prompt che offre un menu numerato ... il più vicino che ho trovato. Non è bello come il completamento dell'idolo, e dovrei comunque convertire un risultato numerico all'indietro in una stringa (non un grosso problema; solo fastidioso).

Mentre componevo questo, ho notato che ho usato il termine 'menu', quindi ho fatto qualche altra ricerca e ho trovato Termine :: Menu. Non ho ancora provato questo.

È stato utile?

Soluzione

Termine :: ReadLine può fare quello che stai cercando, anche se probabilmente è più simile a "completamento-lettura" che a "completamento-lettura-ido".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top