Tags 使用YAML标记表示类型

Tags 使用YAML标记表示类型,tags,yaml,typing,Tags,Yaml,Typing,我不太明白如何使用特定于应用程序的YAML标记,可能是因为我想要使用它们完全是错误的。我将YAML用于配置文件,并希望使用标记为我的配置加载器提供一个提示,说明它应该将数据解析为什么样的数据类型—特定于应用程序的数据类型 我还将libyaml与C一起使用 所以我试着做一些像 shapes: square: "0,4,8,16" circle: "5,10" 在我的应用程序中,我想使用标记作为提示,这样我就可以将square的值加载到square数据结构中,将circle的值

我不太明白如何使用特定于应用程序的YAML标记,可能是因为我想要使用它们完全是错误的。我将YAML用于配置文件,并希望使用标记为我的配置加载器提供一个提示,说明它应该将数据解析为什么样的数据类型—特定于应用程序的数据类型

我还将libyaml与C一起使用

所以我试着做一些像

shapes:  
  square: "0,4,8,16"  
  circle: "5,10"  
在我的应用程序中,我想使用标记作为提示,这样我就可以将square的值加载到square数据结构中,将circle的值加载到circle数据结构中(这些值在本例中没有任何意义)

所以我现在正在做:

shapes:  
  square: !square "0,4,8,16"  
  circle: !circle "5,10"  
当传递标量“0,4,8,16”时,Libyaml将提供一个“!square”标记。使用此标记向我的加载器提供如何处理标量的提示是否有效

因为它确实对我有用,我更想知道它是否合适。如果不是的话,我该怎么做才能让这更合适呢


谢谢。

我知道这是一个古老的问题,但无论如何我已经看到了!int等,以前在yaml文件中使用过,所以我在

根据文档,您对标记的预期使用看起来确实适用于特定于应用程序的标记

application specific tag: !something |
 The semantics of the tag
 above may be different for
 different documents.