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の構造に従います。