Yaml-indentation-and-separation
提供:Dev Guides
YAML-インデントと分離
Indentation and separation are two main concepts when you are learning any programming language. This chapter talks about these two concepts related to YAML in detail.
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のパターンは、YAMLを初めて使用するユーザーが理解できるJSONの構造に従います。