Pregunta

He creado una serie de funciones de ayuda específicas para el trabajo que podrían ser útiles para otros miembros de mi equipo & amp; mdash. Pero los he escrito todos en Elisp de Emacs, y lograr que se conviertan desde Notepad ++ NO sucederá.

Entonces, estoy pensando en convertir las funciones a Perl. No hay problema.

Excepto que uso ido-terminación todo el tiempo para limitar las respuestas:

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

EDITAR: ido-completando-leer es similar a completando -read , excepto que todas las opciones están visibles, y pueden seleccionarse mediante el uso de ciclos [teclas de flecha, normalmente] o la finalización de la escritura. En el ejemplo anterior, el mensaje se vería como

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

las selecciones se pueden hacer en el elemento que está más a la izquierda presionando RET, o escribiendo parcialmente (en este caso, las primeras letras son todas únicas, de modo que eso es todo lo que se necesitaría, y el elemento correspondiente se convertiría en la izquierda) más).

nada en el ejemplo es un parámetro no utilizado, pero " t " requiere una coincidencia exacta, por ejemplo, el usuario debe hacer una de las selecciones. La función devuelve una cadena, como " IniTrade " ;.

Mis " funciones de ayuda " son para necesidades internas: abrir un registro de errores particular, restaurar un lote en el servidor, etc. Para estas operaciones, el usuario debe especificar el entorno de prueba o producción, cliente, etapa, etc. En casi todos los casos, estas son selecciones de cadenas que se usan para construir otro comando de shell. Si se devuelve un elemento numérico, a su vez se podría volver a traducir a una cadena, pero dado que las selecciones son generalmente la cadena requerida, sería bueno si ese paso pudiera omitirse. [finalizar EDIT]

¿Hay un equivalente de Perl? He consultado Term :: Prompt que ofrece un menú numerado ... más cercano que he encontrado. Eso no es tan bonito como la finalización de ido, y aún tendría que convertir un resultado numérico hacia atrás en una cadena (no es un problema importante; simplemente molesto).

Al componer esto, noté que usé el término 'menú', así que hice más búsquedas y encontré Término :: Menus. No he probado este todavía.

¿Fue útil?

Solución

Término :: ReadLine puede hacer lo que estás buscando, aunque probablemente sea más parecido a 'completar-leer' que 'ido-completar-leer'.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top