什么是YAML
最近接连碰上YAML,从未接触过它所以配置文档的时候处处蹩脚,于是决定了解一下何为YAML。
YAML是”YAML Ain’t a Markup Language”(YAML不是一种标记语言)的递归缩写。
在开发的这种语言时,YAML 的意思其实是:”Yet Another Markup Language”(仍是一种标记语言),但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。
而在官方文档上则是这样描述的:
YAML: YAML Ain’t Markup Language
What It Is: YAML is a human friendly data serialization standard for all programming languages.
他最大的特色就是——缩进:
- 数据结构可以用类似大纲的缩排方式呈现
- 结构通过缩进来表示
- 连续的项目通过减号“-”来表示
- map结构里面的key/value对用冒号“:”来分隔。
例:
1 |
|
这个文件的顶层由七个键值组成:其中一个键值”house”,是两个元素构成的数组(或称清单),这清单中的两个元素同时也是包含了三个键值的散列表。
文件中重复的部分用这个方法处理:
使用锚点(**&)和引用(***)标签将”bill-to”散列表的内容复制到”ship-to”散列表。
也可以在文件中加入选择性的空行,以增加可读性。
在一个文件中,可同时包含多个文件,并用”—“分隔。
选择性的符号”…“可以用来表示文件结尾(在利用流的通信中,这非常有用,可以在不关闭流的情况下,发送结束信号)。
注意在YAML中,字符串不一定要用双引号标示。
另外,在缩进中空白字符的数目并不是非常重要,只要相同层次结构的元素左侧对齐就可以了(但是不能使用TAB字符)。
参考文献
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!