所以我开始使用YAML文件而不是应用程序。属性,因为它更具可读性。我在YAML文件中看到他们以——开头。我谷歌了一下,找到了下面的解释。

YAML使用三个破折号(“——”)将指令与文档分开 内容。如果没有,这也可以用来标记文档的开始 存在指令。

此外,我尝试了一个没有——并不是强制性的——的样本。

我认为我对指令和文件的理解不是很清楚。谁能举个简单的例子解释一下?


当前回答

正如你已经发现的,三个破折号——是用来表示文档的开始,即:

To signal the document start after directives, i.e., %YAML or %TAG lines according to the current spec. For example: %YAML 1.2 %TAG !foo! !foo-types/ --- myKey: myValue To signal the document start when you have multiple yaml documents in the same stream, e.g., a yaml file: doc 1 --- doc 2 If doc 2 has some preceding directives, then we have to use three dots ... to indicate the end of doc 1 (and the start of potential directives preceding doc 2) to the parser. For example: doc 1 ... %TAG !bar! !bar-types/ --- doc 2

该规范适用于yaml解析器实现者。然而,我发现从用户的角度来看,这篇文章更容易阅读。

其他回答

如果你没有从一个指令开始你的YAML,这不是强制性的。如果是这样的话,你应该使用它们。

让我们看一看文档

3.2.3.4. 指令 每个文档都可能与一组指令相关联。指令有一个名称和一个可选序列 参数。指令是指向YAML处理器的指令 像所有其他表示细节一样,YAML中没有反映 序列化树或表示图。YAML的这个版本 定义了两个指令,“YAML”和“TAG”。所有其他指令都是 为YAML的未来版本保留。

在指令YAML的文档中也可以找到一个这样的例子

%YAML 1.2 # Attempt parsing
           # with a warning
---
"foo"

正如你已经发现的,三个破折号——是用来表示文档的开始,即:

To signal the document start after directives, i.e., %YAML or %TAG lines according to the current spec. For example: %YAML 1.2 %TAG !foo! !foo-types/ --- myKey: myValue To signal the document start when you have multiple yaml documents in the same stream, e.g., a yaml file: doc 1 --- doc 2 If doc 2 has some preceding directives, then we have to use three dots ... to indicate the end of doc 1 (and the start of potential directives preceding doc 2) to the parser. For example: doc 1 ... %TAG !bar! !bar-types/ --- doc 2

该规范适用于yaml解析器实现者。然而,我发现从用户的角度来看,这篇文章更容易阅读。