YAML - Indentation et séparation

L'indentation et la séparation sont deux concepts principaux lorsque vous apprenez un langage de programmation. Ce chapitre décrit en détail ces deux concepts liés à YAML.

Indentation de YAML

YAML n'inclut aucun espace obligatoire. De plus, il n'est pas nécessaire d'être cohérent. L'indentation YAML valide est indiquée ci-dessous -

a:
   b:
      - c
      -  d
      - e
f:
      "ghi"
  • N'oubliez pas les règles suivantes lorsque vous travaillez avec l'indentation dans YAML: Les blocs de flux doivent être conçus avec au moins quelques espaces avec le niveau de bloc actuel environnant.

  • Le contenu de flux de YAML s'étend sur plusieurs lignes. Le début du contenu du flux commence par{ ou [.

  • Les éléments de la liste de blocage incluent la même indentation que le niveau de bloc environnant car - est considéré comme faisant partie de l'indentation.

Exemple de bloc prévu

Observez le code suivant qui montre l'indentation avec des exemples -

--- !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.

Séparation des cordes

Les chaînes sont séparées par une chaîne entre guillemets. Si vous échappez les caractères de nouvelle ligne dans une chaîne donnée, elle est complètement supprimée et traduite en valeur d'espace.

Exemple

Dans cet exemple, nous avons ciblé la liste des animaux répertoriés sous forme de structure de tableau avec le type de données chaîne. Chaque nouvel élément est répertorié avec un préfixe de trait d'union tel que mentionné comme préfixe.

-
 - Cat
 - Dog
 - Goldfish
-
 - Python
 - Lion
 - Tiger

Un autre exemple pour expliquer la représentation sous forme de chaîne dans YAML est mentionné ci-dessous.

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:"

Cet exemple fait référence à l'ensemble des messages d'erreur qu'un utilisateur peut utiliser simplement en mentionnant l'aspect clé et en récupérant les valeurs en conséquence. Ce modèle de YAML suit la structure de JSON qui peut être comprise par l'utilisateur qui est nouveau dans YAML.