我不太明白如何使用特定于应用程序的YAML标签,也许是因为我希望使用它们纯粹是错误的.我使用YAML作为配置文件,并希望使用标签为我的配置加载器提供一个提示,告诉它应该将数据解析为什么数据类型 - 特定于应用程序的数据类型.
我也使用libyaml和C.
所以我想做点什么......
shapes:
square: "0,4,8,16"
circle: "5,10"
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我想使用标签作为提示,因此我可以将square的值加载到我的方形数据结构中,并将circle的值加载到我的circle数据结构中(这些值在此示例中没有任何意义).
所以我现在正在做:
shapes:
square: !square "0,4,8,16"
circle: !circle "5,10"
Run Code Online (Sandbox Code Playgroud)
当我通过标量"0,4,8,16"时,Libyaml将提供"!square"的标记.使用此标记为我的加载器提供如何处理标量的提示是否有效?
因为它对我有用,所以我更想知道它是否合适.如果没有,我将如何使这更合适.
谢谢.
我知道这是一个古老的问题,但无论如何我之前见过 !int 等在 yaml 文件中使用,所以我去Yaml 1.2 Spec # Tags查找规范
application specific tag: !something |
The semantics of the tag
above may be different for
different documents.
Run Code Online (Sandbox Code Playgroud)
根据该文档,您对标签的预期用法对于应用程序特定的标签来说确实是正确的。
| 归档时间: |
|
| 查看次数: |
3596 次 |
| 最近记录: |