YMAL

作者: eima | 来源:发表于2016-10-21 11:48 被阅读1066次

一 简介

定位

YMAL是专门用来编写配置文件的语言,简洁又方便。

基本语法规则

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab,只允许使用空格
  • 缩进的空格数目不重要,只要相同层级元素对齐即可

注释

#号 表示注释,从该符号一直到行结尾都会被解析器忽略

支持的数据结构

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

二 对象

对象是一组键值对

animal: pets

转为JavaScript格式如下:

{animal: 'pets'}

Ymal也允许另一种写法,将所有键值对写成一个行内对象

hash: {name: Steven, foo: bar}

转为JavaScript格式如下:

{hash: {name: 'Steven', foo: 'bar'}}

三 数组

一组连词线开头的行,构成一个数组

- Cat
- Dog
- Goldfish

转为JavaScript格式如下:

['Cat', 'Dog', 'Goldfish']

数组也可以采用行内表示法

animal: [Cat, Dog]

转为JavaScript格式如下:
{animal: ['Cat', 'Dog']}

四 符合结构

对象和数组可以结合使用,形成复合结构

languages:
  - Ruby
  - Perl
  - Python
websites:
  Ruby: ruby-lang.org
  Python: python.org
  Perl: use.perl.org

转为JavaScript格式如下:

{languages: ['Ruby', 'Perl', 'Python']},
{websites:
  {
    Ruby: 'ruby-lang.org',
    Python: 'python.org',
    Perl: 'use.perl.org'
  }
}

五 纯量

纯量是最基本的、不可再分的值。以下数据类型都属于 JavaScript 的纯量

- 字符串
- 布尔值
- 整数
- 浮点数
- null
- 时间
- 日期

六 字符串

字符串是最常见,也是最复杂的一种数据类型。

str: 这是一行字符串

转为JavaScript格式如下:

{str: "这是一行字符串"}

如果字符串之中包含特殊字符或者空格,需要使用引号

str: '内容 : 这是一行字符串'

转为JavaScript格式如下:

{str: '内容 : 这是一行字符串'}

七 引用

锚点&和别名*, 可以用来引用

defaults: &defaults
  adapter: postgres
  host: localhost

development:
  database: myapp_development
  <<: *defaults

test:
  database: myapp_test
  <<: *defaults

等同于

defaults:
  adapter:  postgres
  host:     localhost

development:
  database: myapp_development
  adapter:  postgres
  host:     localhost

test:
  database: myapp_test
  adapter:  postgres
  host:     localhost

解释

  • & 用来建立锚点
  • << 表示合并到当前数据
  • * 用来引用锚点

一个简单的例子:

- &showell Steven
- Clark
- Brian
- Oren
- *showell

转为 JavaScript 代码如下。

[ 'Steve', 'Clark', 'Brian', 'Oren', 'Steve' ]

相关文章

  • YMAL

    一 简介 定位 YMAL是专门用来编写配置文件的语言,简洁又方便。 基本语法规则 大小写敏感 使用缩进表示层级关系...

  • flutter的ymal文件

    flutter的ymal文件格式有着严格的限定,flutter中文网中的例子: 上边的asset其实是有严格的规则...

  • 常用工具网站

    1.ymal在线编辑器:https://www.json2yaml.com/

  • conda 写出环境yaml配置文件用于新设备部署环境

    conda 高频应用命令 写出conda 环境ymal配置文件 常用conda channel 配置

  • kubernetes

    kubernetes 安装 常用命令 命令发布nginx ymal配置文件管理 pod的管理 service的管理...

  • 5.Dubbo服务暴露分析

    5.1 配置解析 目前Dubbo提供3中配置方式:XML,注解和属性文件(properties和ymal),最常用...

  • Flutter 无法加载 assets图片

    图片资源: 代码: 查看了网上的方法,无法解决。 最终发现pubspec.ymal文件 assets 路径配置有问...

  • docker-compose 启动kafka

    1. ymal 文件 2. 启动服务 3. 测试 见 《单机版kafka部署》[https://www.jians...

  • 原来你不是这样的BUG(1):found character '

    InteliJ下, 在spring boot 1.5.10的ymal配置文件中, 笔者希望得到maven中的一些配...

  • k8s导出ymal

    导出某个命名空间的所有yml信息 #!/bin/bash set -e useage(){ echo "使用:...

网友评论

      本文标题:YMAL

      本文链接:https://www.haomeiwen.com/subject/iqzquttx.html