YAML 标量

2025年3月17日 | 阅读 3 分钟

在本节中,我们将讨论标量。我们已经学习了映射和序列。在使用映射和序列时,我们已经使用了标量。标量是字符串、数字或布尔值。YAML 中允许空格。

示例 1

在上面的例子中,Las Vegas 是有效的,就像 Canada 一样。我们不需要将 Las Vegas 放在引号中来使其成为字符串。

我们将使用单引号或双引号将非字符串标量转换为字符串标量。在示例 1 中,值 13 和 3 是普通数字。它们不被视为字符串。但可以将这些数字转换为字符串。我们可以使用单引号或双引号将它们转换为字符串。

示例 2

单引号和双引号的区别在于双引号允许转义序列

示例 3

当我们处理上面的例子

这意味着双引号将 \n 视为新行,而单引号将其视为普通文本。标量意味着一个单独的内容。所以 location 键本身就是一个标量,Canada 值本身也是一个标量。因此,映射本质上用于将一个标量分配给另一个标量。

如果我们想添加一个更长的值,并且需要在多行上花费时间,那么有两个不同的符号允许使用多行。第一个是 |,第二个是 >。

YAML 中,我们可以使用 | 符号在新行中编写多行字符串。 在这种情况下,换行符 (\n) 将被包含

示例 4

在上面的例子中,我们有一个 downtime_sch 键,然后我们有一个 | 符号,表示它将是多行。 现在,在此之下,我们在第一行中有一个内核升级的日期,在第二行中有一个安全修复的日期。 当我们处理上面的例子时,我们将看到文档中换行的地方如下所示

在 YAML 中,我们可以使用 > 符号在单行中编写多行字符串。 在这种情况下,换行符 (\n) 将被忽略

示例 5

我们有一行注释,然后我们有一个 >(闭合角括号)。 现在,在此之下,我们可以键入我们想要的任何注释。 我们在第一行写了 Experiencing high I/O,在第二行写了 since 2019-04-29,在第三行写了 Currently investigating。 当我们处理上面的例子时,它会解释为没有换行符,如下所示

在 YAML 文件中,我们可以将数据变量的值设置为 null。 稍后,我们可以编写一个程序将 null 的值更改为任何其他值。

我们的程序将此处理为如下


下一个主题YAML 结构