Artículo
· 9 feb, 2024 Lectura de 2 min

Usando %Library.Prompt en IRIS para interacciones en el terminal

Interactuar con usuarios en la terminal: una guía para usar %Library.Prompt en IRIS

 

¿Alguna vez te has preguntado cómo comandos como ^DATABASE atraen a los usuarios en la terminal? O tal vez esté escribiendo una rutina de automatización y desee formas de especificar opciones directamente desde la terminal. Afortunadamente, la clase %Library.Prompt en IRIS ofrece una forma sencilla de hacerlo.

Entradas de texto

Para entradas básicas, como pedirle al usuario que proporcione una ruta de archivo o un espacio de nombres, utilice el siguiente código:

set status = ##class(%Library.Prompt).GetString("Input filepath:", .path)

Este código solicita al usuario que ingrese un texto, que puede ser cualquier cosa, desde rutas de archivos hasta espacios de nombres. La respuesta resultante se almacenará en la variable path.

Entradas numéricas

Para solicitar una entrada numérica, como el número de núcleos, puede utilizar:

set status = ##class(%Library.Prompt).GetNumber("Input number of cores:",.number)

%Library.Prompt garantiza automáticamente que la entrada sea numérica. También podemos especificar un número mínimo y máximo para usar.

set status = ##class(%Library.Prompt).GetNumber("Input number of cores (1-8):",.number,0,8)

Optiones por defecto

También puede configurar opciones predeterminadas. Por ejemplo, para que la respuesta sea 'sí' por defecto, simplemente configuramos la variable de respuesta de antemano:

set answer = 1
set status = ##class(%Library.Prompt).GetYesNo("Accept default settings?", .answer)

Aquí, la respuesta predeterminada es 1 (sí) si el usuario no proporciona información.

Menus

Para entradas más complejas, como seleccionar desde un menú, puede utilizar métodos como GetArray() o GetMenu():

#include %syPrompt
 set options(1) = "Option 1" 
 set options(2) = "Option 2" 
 do ##class(%Library.Prompt).GetArray("Select deployment type:", .result, .options, , , , $$$InitialDisplayMask)

Este enfoque presenta una lista de opciones al usuario. El parámetro$$$InitialDisplayMask muestra el menú antes de la selección.

Estas herramientas de línea de comandos simplifican significativamente la escritura y la interacción con rutinas más complejas. Para más información consulte la documentación de IRIS.

Comentarios (0)1
Inicie sesión o regístrese para continuar