YAML - 缩进和分隔
缩进和分隔是学习任何编程语言时的两个主要概念。本章详细讨论了与 YAML 相关的这两个概念。
YAML 的缩进
YAML 不包含任何强制空格。此外,无需保持一致。有效的 YAML 缩进如下所示 −
a: b: - c - d - e f: "ghi"
在 YAML 中使用缩进时,您应该记住以下规则:流块必须至少与当前块级别周围留出一些空格。
YAML 的流内容跨越多行。流内容的开头以 { 或 [ 开头。
块列表项包含与周围块级别相同的缩进,因为 - 被视为缩进的一部分。
预期块的示例
观察以下代码,其中显示了缩进和示例 −
--- !clarkevans.com/^invoice invoice: 34843 date : 2001-01-23 bill-to: &id001 given : Chris family : Dumars address: lines: | 458 Walkman Dr. Suite #292 city : Royal Oak state : MI postal : 48046 ship-to: *id001 product: - sku : BL394D quantity : 4 description : Basketball price : 450.00 - sku : BL4438H quantity : 1 description : Super Hoop price : 2392.00 tax : 251.42 total: 4443.52 comments: > Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
字符串分隔
字符串使用双引号分隔。如果对给定字符串中的换行符进行转义,则会将其完全删除并转换为空格值。
示例
在此示例中,我们重点列出了以字符串数据类型的数组结构列出的动物。每个新元素都以连字符前缀列出,如前缀所述。
- - Cat - Dog - Goldfish - - Python - Lion - Tiger
下面给出了另一个解释 YAML 中字符串表示的示例。
errors: messages: already_confirmed: "was already confirmed, please try signing in" confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one" expired: "has expired, please request a new one" not_found: "not found" not_locked: "was not locked" not_saved: one: "1 error prohibited this %{resource} from being saved:" other: "%{count} errors prohibited this %{resource} from being saved:"
此示例指的是一组错误消息,用户只需提及关键方面即可使用它们并相应地获取值。这种 YAML 模式遵循 JSON 的结构,即使是 YAML 新手也可以理解。