类对象支持库(不是扁平命令)。路径:支持库 → 扩展类库 → YAML类。
旁路插件:plugins/supportlib.yaml/(feature_id = supportlib.yaml)。API 与 JSON类 对齐,路径语法相同。
类型名必须写完整「YAML类」。声明时自动创建,一般无需再调创建函数。
硬约束
- 类型名必须写「YAML类」。
- 解析后按路径读写;标量解析时自动识别逻辑(true/false/yes/no)、整数、小数,其余为文本。
- 方法调用必须带括号。
- 旁路 JSON codegen 不支持「另一同类对象」作参数,故合并用
合并文本(解析文本再深合并),不用两变量互并。
快速开始
YAML类 y
如果 (y.解析("a: 1\nb: true")) {
输出(y.取整数("a"))
输出(y.取逻辑("b"))
输出(y.取类型("a"))
y.保存("out.yaml", 真)
}
YAML类 副本 = y.克隆()
副本.合并文本("c: hi", 真)
YAML类/方法
共 24 条。
解析
- 签名:
逻辑 解析(文本 文本) - 说明:把 YAML 文本解析进当前对象;成功返回真,失败返回假(看 取错误())。
加载
- 签名:
逻辑 加载(文本 文件路径) - 说明:按 UTF-8 读文件并解析。
保存
- 签名:
逻辑 保存(文本 文件路径, [逻辑 美化=假]) - 说明:序列化后按 UTF-8 写文件;失败看 取错误()。
到文本
- 签名:
文本 到文本([逻辑 美化]) - 说明:把当前文档序列化为 YAML 文本。
取错误
- 签名:
文本 取错误() - 说明:返回最近一次失败操作的错误信息;无错时为空文本。
清空
- 签名:
无 清空() - 说明:清空文档(根变为 null)。
置为空对象 / 置为空数组
- 说明:把根设为
{}/[],用于从头构造。
克隆
- 签名:
YAML类 克隆() - 说明:新建句柄并深拷贝当前根文档。
取文本 / 取整数 / 取小数 / 取逻辑
- 说明:按路径取值;不存在或无法转换时返回默认值。路径可用
items[0].id。
取类型
- 签名:
文本 取类型(文本 路径) - 说明:返回
空/逻辑/整数/小数/文本/数组/对象;路径失败返回空并写取错误()。
是否存在 / 取成员数
- 说明:判断路径是否存在;取对象键数或数组长度。
取成员名
- 签名:
文本 取成员名([文本 路径=""]) - 说明:对象键名每行一个(优先插入序);非对象或失败返回空并写取错误()。
置文本 / 置整数 / 置小数 / 置逻辑 / 置空 / 删除
- 说明:按路径写入或删除;中间对象/数组不存在时自动创建。
合并文本
- 签名:
逻辑 合并文本(文本 文档, [逻辑 覆盖=真]) - 说明:解析文档后深合并进当前根。对象递归键;数组在覆盖=真时替换、否则追加;标量仅在覆盖=真时替换。
易错对照
| 错误 | 正确 |
|---|---|
| 类型写成 YAML | 必须「YAML类」 |
| 路径写错当有值 | 先判断解析/取值是否成功 |
| 想两对象互并 | 用 合并文本(源.到文本()) 或先序列化再合并 |