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.