YAML 入门教程

YAML 入门教程

YAML语言后缀 .yml

  1. 基本语法:
* 大小写敏感
* 使用缩进表示层级关系
* 缩进的空格数不重要只要相同层级的元素左对齐即可
* '#'表示注释
2. 数据类型
YAML支持以下几种数据类型:
* 对象:键值对的集合,又称为映射(mapping)/哈希(hashes)/字典(dictionary)
* 数组:一组按次序排列的值,又称为序列(sequence)/列表(list)
* 纯量(scalars):单个的、不可再分的值
  1. YAML 对象
对象键值对使用冒号结构表示 key: value,冒号后加一个空格
也可以 key:{key1:value1,key2:value2,...}
还可以使用缩进表示层级关系:
key:
    child-key: value
    child-key2: value2
复杂的对象格式,可以使用问号加一个空格代表一个复杂的key,配合一个冒号加一个空格表示value:
? 
    - complexkey1
    - complexkey2
: 
    -complexvalue1
    -complexvalue2
即:对象的属性是一个数组[complexkey1,complexkey2],对应值也是一个数组[complexvalue1,complexvalue2]
  1. YAML 数组
以-开头的行表示构成一个数组:
- A
- B
- C
YAML 支持多维数组,可以使用行内表示: key: [value1, value2, ...]
数据结构的子成员是一个数组,则可以在该项下面缩进一个空格
-
 -A
 -B
 -C
  1. 复合结构
language: 
  - Ruby
  - Perl
  - Python
websites: 
  YAML: yaml.org
  Ruby: ruby-lang.org
  Python: python.org
  Perl: use.perl.org
即: {language:['Ruby','Perl','Python'], websites:{YAML: 'yaml.org', Ruby:'ruby-lang.org', Python: 'python.org', Perl: 'use.perl.org'}}
  1. 纯量
纯量是最基本的,不可再分的值,包括:
* 字符串
* 布尔值
* 整数
* 浮点数
* Null
* 时间
* 日期
  1. 引用
& 锚点和 * 别名,可以用来引用
defaults:
  adapter: postgres
  host: localhost
development:
  database: myapp_development
  adapter: postgres
  host: localhost
test:
  database: myapp_test
  adapter: postgres
  host: localhost
& 用来建立锚点(defaults), << 表示合并到当前数据,*用来引用锚点
- &showell Steve
- Clark
- Brian
- Oren
- *shwell
即 ['Steve','Clark','Brian','Oren','Steve']
posted @ 2020-09-08 10:04  初春的暖风  阅读(183)  评论(0)    收藏  举报