查看“YAML入门教程”的源代码
←
YAML入门教程
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==简介== https://www.runoob.com/w3cnote/yaml-intro.html yml文件是yaml语法格式的文件, 我们使用YAML是因为它像XML或JSON那样是一种利于读写的数据格式。 另外,在大多数编程语言中有使用YAML的库。 所有的YAML文件(无论与Ansible有没有关系)开始行都应该是---,这是YAML格式的一部分,表明一个文件的开始。 YAML一般有下列两种数据结构: *列表:一组按次序排列的值,又称为序列(sequence) / 列表(list) *字典:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary) 列表中的所有成员都开始于相同的缩进级别,'''并且使用一个"-"作为开头(一个横杠和一个空格)'''。 ===基本语法=== *大小写敏感 *使用缩进表示层级关系 *缩进不允许使用tab,只允许空格 *缩进的空格数不重要,只要相同层级的元素左对齐即可 *'#'表示注释 注意:只能使用空格缩进,不能使用 tab,如果使用 vi 编辑器,可以通过编辑 $HOME/.vimrc 将 Tab 转化为2个空格 autocmd FileType yaml setlocal ai ts=2 sw=2 et ==YAML 字典== ===简单字典=== 一个字典是由一个简单的键:值的形式组成 <nowiki>key: value</nowiki> ('''这个冒号后面必须是一个空格''')。。 示例如下: <nowiki> --- # 一位职工的信息 name: Example Developer </nowiki> ===复合字典=== 字典的值也可以包含子键值对: <nowiki>key: child-key: value child-key2: value2</nowiki> 示例: <nowiki> # 一位职工的信息 worker: name: Example Developer job: Developer skill: Elite</nowiki> 也可以使用 key:{key1: value1, key2: value2, ...}。 字段也可以使用缩进方式来表示: <nowiki> # 一位职工的记录 worker: {name: Example Developer, job: Developer, skill: Elite}</nowiki> ===复杂字典=== 较为复杂的对象格式,可以使用问号加一个空格代表一个复杂的 key,配合一个冒号加一个空格代表一个 value: <nowiki> ? - complexkey1 - complexkey2 : - complexvalue1 - complexvalue2</nowiki> 意思即对象的属性是一个数组 [complexkey1,complexkey2],对应的值也是一个数组 [complexvalue1,complexvalue2] ==YAML列表== 以 - 开头的行表示构成一个列表 ===一维列表=== 列表中的所有成员都开始于相同的缩进级别,'''并且使用一个"-"作为开头(一个横杠和一个空格)'''。 <nowiki> --- #一个美味水果的列表 - Apple - Orange - Strawberry - Mango</nowiki> ===多维列表=== YAML 支持多维列表,可以使用行内表示: key: [value1, value2, ...] 数据结构的子成员是一个列表,则可以在该项下面缩进一个空格。 一个相对复杂的例子: companies: - id: 1 name: company1 price: 200W - id: 2 name: company2 price: 500W 意思是 companies这个键的属性是一个数组,每一个数组元素又是由 id、name、price 三个属性构成。 列表的成员仍是列表 <nowiki> - - A - B - C - - D - E - F</nowiki> ==YAML复合结构== 数组和对象可以构成复合结构,例: <nowiki>languages: - Ruby - Perl - Python</nowiki> <nowiki>- YAML: yaml.org Ruby: ruby-lang.org - Python: python.org Perl: use.perl.org</nowiki> 我们把目前所学到的YAML例子组合在一起。 <nowiki>--- # 一位职工的记录 name: Example Developer job: Developer skill: Elite employed:True languages: ruby: Elite python: Elite dotnet: Lame foods: - Apple - Orange - Strawberry - Mango </nowiki> 以上就是编写Ansible playbooks需要知道的所有YAML语法。
返回至
YAML入门教程
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息