
Rust 高性能 REST API 开发全指南:从环境搭建到部署实战
%Library.Prompt
实现终端交互你是否曾好奇,像 ^DATABASE
这样的命令是如何在终端中与用户交互的?或者在编写自动化例程时,如何直接从终端获取用户输入?
InterSystems IRIS 提供了强大的 %Library.Prompt
类,帮助开发者轻松实现终端交互功能。
当需要用户输入字符串信息(如文件路径或命名空间)时,可以使用以下方法:
set status = ##class(%Library.Prompt).GetString("Input filepath:", .path)
GetString()
会提示用户输入一个字符串。path
中,可用于后续处理。如果需要用户输入数字,例如 CPU 核心数量,可以使用:
set status = ##class(%Library.Prompt).GetNumber("Input number of cores:", .number)
%Library.Prompt
会自动验证输入是否为数字。set status = ##class(%Library.Prompt).GetNumber("Input number of cores (1-8):", .number, 1, 8)
在某些情况下,为用户提供默认选项会更加便捷。例如,设置默认回答为“是”:
set answer = 1
set status = ##class(%Library.Prompt).GetYesNo("Accept default settings?", .answer)
answer
默认值为 1(表示“是”)。对于更复杂的交互,例如用户需要从菜单中选择选项,可以使用 GetArray()
或 GetMenu()
方法:
#include %syPrompt
set options(1) = "Option 1"
set options(2) = "Option 2"
do ##class(%Library.Prompt).GetArray("Select deployment type:", .result, .options, , , , $$$InitialDisplayMask)
$$$InitialDisplayMask
标志用于在用户选择之前显示完整菜单。通过 %Library.Prompt
类,开发者可以轻松实现终端交互,包括:
这些方法简化了与用户的交互逻辑,使开发更加高效和直观。
如需深入了解 %Library.Prompt
的更多功能,请参考 InterSystems IRIS 官方文档。
原文链接: https://community.intersystems.com/post/using-libraryprompt-iris-terminal-interaction