有没有一种简单的方法可以将预处理器/宏处理器与 YAML 文件一起使用? (即我正在考虑类似于 C 预处理器的东西)?
我们有很多描述各种数据结构的平面文本文件。它们目前采用我们自己的内部格式,并使用内部解析器读取。我想切换到 YAML 文件以利用各种预先存在的库进行读写。
然而,我们的文件是分层的,因为我们将主文件“包含”到子文件中,并使用变量替换生成新的数据结构。
作为一个玩具示例,我想要类似的东西:
Country_master.yaml
name: $COUNTRY$
file: C:\data\$COUNTRY$
UK_country.yaml
#define $COUNTRY$ UK
#include <country_master.yaml>
USA_country.yaml
#define $COUNTRY$ USA
#include <country_master.yaml>
然后在预处理之后我们会得到类似的东西:
name: USA
file: C:\data\USA
C 预处理器无法处理 YAML 注释中使用的 # 字符。另外,理想情况下,我们希望有由预处理器扩展的循环,因此在上面的示例中,我们将创建 UK 和 USA 以及循环(我不相信您可以使用循环cpp
).
有任何想法吗?
# Yamp - YAML Macro-Processor
# https://github.com/birchb1024/yamp
# in master.yaml
defmacro:
name: country
args: [$COUNTRY$]
value:
name: $COUNTRY$
file: C:\data\{{$COUNTRY$}}
---
# in some file
- include: [master.yaml]
# Call with wherever needed:
{ country: USA }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)