Учебники

YAML — Отступ и разделение

Отступ и разделение — это две основные концепции, когда вы изучаете любой язык программирования. В этой главе подробно рассматриваются эти две концепции, связанные с YAML.

Отступ YAML

YAML не содержит никаких обязательных пробелов. Кроме того, нет необходимости быть последовательным. Действительный отступ YAML показан ниже —

a:
   b:
      - c
      -  d
      - e
f:
      "ghi"
  • При работе с отступами в YAML следует помнить следующие правила: для блоков потока должны быть хотя бы некоторые пробелы с окружающим текущим уровнем блока.

  • Содержание потока YAML охватывает несколько строк. Начало содержимого потока начинается с { или [ .

  • Элементы списка блоков содержат те же отступы, что и уровень окружающих блоков, поскольку — считаются частью отступа.

При работе с отступами в 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.