Zhonghui

每个不曾起舞的日子,都是对生命的辜负

User Tools

Site Tools


程序:yaml:yaml

YAML

YAML 是 “YAML Ain't a Markup Language”(不是一种标记语言)的递归缩写
在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)

YAML是Json的超集,也就是说YAML解析器可以解析Json

谁在用YAML?

  1. Unity的大部分内置资源都是用YAML描述的

基本语法

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进不允许使用tab,只允许空格
  • 缩进的空格数不重要,只要相同层级的元素左对齐即可
  • '#'表示注释

数据类型

  • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
  • 纯量(scalars):单个的、不可再分的值

对象,使用':'表示Key和Value的映射,可以使用{}或者缩进组织结构
[高级内容]比较复杂的Key可以使用'?'表示(指的是:Key不是基础数据类型,而是列表、字典等)

# 复杂的Key
?  
  - complexkey1
  - complexkey2
:
  - complexvalue1
  - complexvalue2

列表,使用'-'表示每一个元素,支持多维数组,可以使用[]或者缩进组织结构

# 多维数组
-
 - A
 - B
 - C

纯量,包含以下的具体数据类型:

  • 字符串
  • 布尔值
  • 整数
  • 浮点数
  • Null(用'~'表述)
  • 时间
  • 日期

高级语法:引用

  • '&'表示锚点
  • '*'表示别名

具体使用

Python

C#

/var/www/DokuWikiStick/dokuwiki/data/pages/程序/yaml/yaml.txt · Last modified: 2022/12/28 09:14 by zh