yaml - 为什么 ---(3 个破折号/连字符)在 yaml 文件中?
问题描述
所以我刚开始使用YAML
文件而不是application.properties
因为它更具可读性。我在YAML
文件中看到它们以---
. 我用谷歌搜索并找到了以下解释。
YAML 使用三个破折号(“---”)将指令与文档内容分开。如果不存在指令,这也用于指示文档的开始。
此外,我尝试了一个没有样品的样品,---
并理解它不是强制性的。
directive
我想我对and没有一个清晰的认识document
。谁能用一个简单的例子解释一下?
解决方案
正如您已经发现的那样,三个破折号---
用于表示文档的开始,即:
根据当前规范,在指令之后发出文档开始的信号,即
%YAML
或行。%TAG
例如:%YAML 1.2 %TAG !foo! !foo-types/ --- myKey: myValue
当您在同一个流中有多个 yaml 文档(例如,一个 yaml 文件)时,要发出文档开始的信号:
doc 1 --- doc 2
如果 doc 2 有一些前面的指令,那么我们必须使用三个点
...
来向解析器指示 doc 1 的结尾(以及 doc 2 之前的潜在指令的开始)。例如:doc 1 ... %TAG !bar! !bar-types/ --- doc 2
该规范适用于 yaml 解析器实现者。但是,我发现从用户的角度来看这篇文章更容易阅读。
推荐阅读
- angular - 通过单击按钮 angular 4 屏蔽和取消屏蔽输入字段值
- wxpython - wxpython双面板窗口显示信息
- java - Java Gson .add 函数不采用字符串参数(maven 项目)
- python - pyImporterror 从父文件夹运行子文件夹 python 脚本
- kubernetes - DeploymentConfig 上的 Openshift Origin 1.5.1 Pod 反关联性不起作用
- sql - 如何获取指定为年和季度的两个日期之间的差异
- react-native - React-navigation,如何从 navigatorRef 获取路线
- javascript - jsPDF 输出所有唯一的屏幕截图,而不是打印整个内容
- java - OkHttp MockWebServer 无法接受 android P (API 28) Instrumentation Test 中的连接
- teradata-sql-assistant - teradata 助手中的 SQL 插入语句