Commencez à utiliser YAML maintenant | Opensource.com

YAML (YAML Ain’t Markup Language) est un langage de sérialisation de données lisible par l’homme. Sa syntaxe est simple et lisible par l’homme. Il ne contient pas de guillemets, de balises d’ouverture et de fermeture ni d’accolades. Il ne contient rien qui puisse rendre plus difficile l’analyse des règles d’imbrication pour les humains. Vous pouvez scanner votre document YAML et savoir immédiatement ce qui se passe.
Fonctionnalités YAML
YAML a quelques super fonctionnalités qui le rendent supérieur aux autres formats de sérialisation :
- Facile à écumer.
- Facile à utiliser.
- Portable entre les langages de programmation.
- Structures de données natives des langages Agiles.
- Modèle cohérent pour prendre en charge les outils génériques.
- Prend en charge le traitement en un seul passage.
- Expressif et extensible.
Je vais vous montrer plus loin la puissance de YAML avec quelques exemples.
Pouvez-vous comprendre ce qui se passe ci-dessous?
-------
# My grocery list
groceries:
- Milk
- Eggs
- Bread
- Butter
...
L’exemple ci-dessus contient une simple liste d’épicerie à acheter, et c’est un document YAML entièrement formé. En YAML, les chaînes ne sont pas entre guillemets et les listes ont besoin de simples tirets et espaces. Un document YAML commence par — et se termine par …, mais ils sont facultatifs. Les commentaires en YAML commencent par un #.
L’indentation est la clé dans YAML. L’indentation doit contenir des espaces, pas des tabulations. Et bien que le nombre d’espaces requis soit flexible, c’est une bonne idée de les garder cohérents.
Éléments basiques
Collections
YAML a deux types de collections : Listes (pour les séquences) et dictionnaires (pour les mappages). Les listes sont des paires clé-valeur où chaque valeur se trouve sur une nouvelle ligne, commençant par un trait d’union et un espace. Les dictionnaires sont des paires clé-valeur où chaque valeur est un mappage contenant une clé, un deux-points et un espace, et une valeur.
Par exemple:
# My List
groceries:
- Milk
- Eggs
- Bread
- Butter# My dictionary
contact:
name: Ayush Sharma
email: myemail@example.com
Les listes et les dictionnaires sont souvent combinés pour fournir des structures de données plus complexes. Les listes peuvent contenir des dictionnaires et les dictionnaires peuvent contenir des listes.
Cordes
Les chaînes en YAML n’ont pas besoin de guillemets. Les chaînes multilignes sont définies à l’aide de | ou >. Le premier préserve les nouvelles lignes, mais pas le second.
Par exemple:
my_string: |
This is my string.
It can contain many lines.
Newlines are preserved.
my_string_2: >
This is my string.
This can also contain many lines.
Newlines aren't preserved and all lines are folded.
Ancres
YAML peut avoir des blocs de données répétables à l’aide d’ancres de nœud. Les & caractère définit un bloc de données qui est référencé plus tard à l’aide *. Par exemple:
billing_address: &add1
house: B1
street: My Street
shipping_address: *add1
À ce stade, vous connaissez suffisamment YAML pour commencer. Vous pouvez jouer avec l’analyseur YAML en ligne pour vous tester. Si vous travaillez quotidiennement avec YAML, alors cette aide-mémoire pratique sera utile.
Cet article a été initialement publié sur le blog personnel de l’auteur et a été adapté avec permission.