ui 模块提供了一套交互式命令行界面函数,支持用户输入多种类型的数据(整数、浮点数、文本、密码等)以及选择选项的功能。调用方式可以使用 Ui.function_name(arg1, arg2) 或空格分隔参数 Ui.function_name arg1 arg2。
查看帮助#
1help ui函数列表#
| 函数名 | 描述 | 参数格式 | 返回值类型 |
|---|---|---|---|
| int | 读取整数输入 | <提示消息> | Integer |
| float | 读取浮点数输入 | <提示消息> | Float |
| text | 读取文本输入 | <提示消息> | String |
| passwd | 读取密码输入 | <提示消息> [是否需要确认] | String |
| confirm | 用户确认(是/否) | <提示消息> | Boolean |
| pick | 单选(选择一个选项) | [提示或配置] <选项列表/字符串> | 任意类型 |
| multi_pick | 多选(选择多个选项) | [提示或配置] <选项列表/字符串> | List |
输入函数详细说明#
1. int - 读取整数输入#
从用户获取整数输入,验证输入有效性。
语法:
1Ui.int "提示消息"示例:
1; 读取用户年龄
2let age = (Ui.int "请输入您的年龄:")2. float - 读取浮点数输入#
从用户获取浮点数输入,验证输入有效性。
语法:
1Ui.float "提示消息"示例:
1; 读取商品价格
2let price = Ui.float "请输入商品价格:"3. text - 读取文本输入#
从用户获取一行文本输入。
语法:
1Ui.text "提示消息"示例:
1# 读取用户名
2let name = Ui.text("请输入您的姓名:")4. passwd - 读取密码输入#
安全读取密码输入,支持是否需要确认密码的选项。
语法:
1Ui.passwd "提示消息" [confirm?]参数:
confirm?(可选):布尔值,默认为truetrue:需要确认密码(输入两次)false:不需要确认(输入一次)
示例:
1# 读取密码(需要确认)
2let pwd1 = (Ui.passwd "设置密码:" True)
3
4# 读取密码(不需要确认)
5let pwd2 = (Ui.passwd "请输入密码:" false)5. confirm - 用户确认#
让用户回答是/否的问题,返回布尔值。
语法:
1Ui.confirm "提示消息"示例:
1# 确认是否继续操作
2if (Ui.confirm "是否继续操作?") {
3 # 继续执行的代码
4}选择函数详细说明#
6. pick - 单选#
让用户从多个选项中单选一个选项。
语法:
1Ui.pick [配置|提示] 选项列表参数格式:
- 参数1(可选):配置对象或提示字符串
- 类型:
Map或String - 支持配置项:
msg: 提示消息(字符串)page_size: 每页显示的选项数量(整数)starting_cursor: 初始光标位置(整数)
- 类型:
- 选项数据源(二选一):
- 列表表达式:
list("选项1" "选项2" ...) - 多行字符串:
"选项1\n选项2\n..." - 多参数形式:直接传入多个选项表达式
Ui.pick 选项1 选项2 ...
- 列表表达式:
示例:
- 简单单选:
1let color = (Ui.pick "选择颜色:" ["红", "绿", "蓝"])- 使用字符串选项源:
1let fruits = "苹果\n香蕉\n橙子"
2let choice = (Ui.pick "选择喜欢的水果:" fruits)- 使用详细配置:
1let oss = ["win","linux","mac"]
2let choice = Ui.pick({
3 msg: "请选择操作系统:",
4 page_size: 5,
5 starting_cursor: 1,
6 }, oss)6. multi_pick - 多选#
让用户从选项列表中多选。
语法:
1Ui.multi_pick [配置|提示] 选项列表参数格式:
- 参数1(可选):配置对象或提示字符串
- 类型:
Map或String - 支持配置项:
msg: 提示消息(字符串)page_size: 每页显示的选项数量(整数)starting_cursor: 初始光标位置(整数)
- 类型:
- 选项数据源(二选一):
- 列表表达式:
list("选项1" "选项2" ...) - 多行字符串:
"选项1\n选项2\n..." - 多参数形式:直接传入多个选项表达式
Ui.pick 选项1 选项2 ...
- 列表表达式:
示例:
1Fs.ls -l | Ui.multi_pick "删除哪些文件?"
2
3let oss = ["win","linux","mac","android","nokia"]
4let choice = Ui.multi_pick({
5 msg: "您用过哪些操作系统:",
6 page_size: 5,
7 starting_cursor: 1,
8 }, oss)