yaml语法
# 介绍
官网 http://www.yaml.org
YAML是一个可读性高的用来表达资料序列的格式
- 参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822等
- Clark Evans在2001年在首次发表了这种语言,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者
- YAML Ain't Markup Language,即YAML不是XML
- 不过,在开发的这种语言时,YAML的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)
特性
- 可读性好
- 和脚本语言的交互性好
- 使用实现语言的数据类型
- 有一个一致的信息模型
- 易于实现
- 可以基于流来处理
- 表达能力强,扩展性好
# 基础
# 扩展名
YAML文件扩展名通常为yml或yaml
# 注释
- 使用#号注释代码
# 缩进
- 缩进必须是统一的,不能空格和tab混用,只能同时用一种
- 缩进级别必须是一致的,同样的缩进代表同样的级别,程序判别配置的级别是通过缩进结合换行来实现的
# 大小写
- YAML文件内容是区别大小写的
- k/v的值均需大小写敏感
# kv
- 多个k/v可同行写也可换行写,同行使用:分隔
- v可是个字符串,也可是另一个列表[]
# 其他
- 在单一档案中,可用连续三个连字号
---
区分多个档案 - 有选择性的连续三个点号
...
用来表示档案结尾次行开始正常写Playbook的内容
# 列表
列表,其所有元素均使用-
打头,列表代表同一类型的元素
示例
# A list of tasty fruits
- Apple
- Orange
- Strawberry
- Mango
1
2
3
4
5
2
3
4
5
# 字典
通常由多个key与value构成 键值对,示例
---
# An employee record
name: Example Developer
job: Developer
skill: Elite
1
2
3
4
5
2
3
4
5
也可以将key:value放置于{}中进行表示,用,分隔多个key:value,示例
---
# An employee record 注意有空格
{name: Example Developer, job: Developer, skill: Elite}
1
2
3
2
3
# 符合示例
YAML的语法和其他高阶语言类似,可简单表达清单、散列表、标量等数据结构;其结构(Structure)通过空格来展示,序列(Sequence)里的项用-
来代表,Map里的键值对用:
分隔
name: John Smith
age: 41
gender: Male
spouse:
name: Jane Smith
age: 37
gender: Female
children:
- name: Jimmy Smith
age: 17
gender: Male
- name: Jenny Smith
age 13
gender: Female
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
Last Updated: 2022/05/22, 12:42:00