yaml Zelfstudie
Aan de slag met yaml
Zoeken…
Opmerkingen
YAML is een recursief acroniem voor " Y AML A in't M arkup L anguage". Het is een voor mensen leesbare gegevensserialisatiestandaard voor alle programmeertalen.
versies
| Versie | Publicatiedatum |
|---|---|
| 1.0 | 2004-01-29 |
| 1.1 | 2005-01-18 |
| 1.2 | 2009-10-01 |
Basic Yaml-syntaxis
YAML is een op tekst gebaseerde indeling waarmee gestructureerde gegevens in een hiërarchie kunnen worden opgeslagen. YAML is ontworpen om leesbaar te zijn voor mensen en machines met een minimum aan overhead. De YAML-specificatie is te vinden op yaml.org . Er is ook een referentiekaart
Opmerkingen beginnen met # en gaan tot nieuwe regel, opmerkingen moeten door witruimte van andere tokens worden gescheiden. Witruimte is niet gratis, inspringen moet spaties zijn, geen tabs. YAML zal in overweging nemen dat regels die worden voorafgegaan door meer spaties dan de hoofdsleutel erin voorkomen. Bovendien moeten alle lijnen worden voorafgegaan door hetzelfde aantal spaties om tot dezelfde kaart te behoren.
YAML heeft sequenties en toewijzingen als verzamelingstypen, beide kunnen worden weergegeven in flow- en blokstijl.
Een reeks scalaire tekenreeksen in YAML ziet er als volgt uit:
[ one, two, three ] # flow style
# or block style
- one
- two
- three
Een toewijzing bestaat uit sleutel / waarde-paren:
index: 4 # block style
name: nali
# or
{ index: 4, name: nali } # flow style
# or nested (equivalent of { level: { one: { two: fun } } }):
level:
one:
two: fun
Standaard YAML-typen
integer: 25
string: "25"
float: 25.0
boolean: true
null type: null
YAML opeenvolgende gegevens
Hetzelfde lijstniveau:
- Cat
- Dog
- Goldfish
Geneste lijst:
-
- Cat
- Dog
- Goldfish
Comments
# This comment occupies a whole line
- some item # This comment succeeds content of a line
- http://example.com/#nocomment
- "This # does not introduce a comment."
- |
This is a block scalar.
A # inside it does not introduce a comment.
# unless it is less indented than the first line (this is one)
Merk op dat voor een # een opmerking moet worden ingevoerd, dit ook moet
- optreden aan het begin van een regel, of
- worden voorafgegaan door witruimte.
# moet altijd worden gevolgd door witruimte. # binnen geciteerde scalars beginnen nooit met reacties. # kan opmerkingen aan het einde van blokscalars introduceren, maar daarom moet het minder ingesprongen zijn dan de basisinspringing van de blokscalar (die meestal wordt bepaald door de inspringing van de eerste niet-lege regel).
Blokstijltoewijzingen
Met impliciete sleutels:
key: value
another key:
- some
- more
- values
[1, 2, 3]: last value, which has a flow style key
Met impliciete en expliciete sleutels:
? key
: value
another key:
- some
- more
- values
? [1, 2, 3]
: last value, which has a flow style key
key , another key en [1, 2, 3] zijn sleutels van dezelfde toewijzing, hoewel ze verschillende sleutelstijlen gebruiken.
Geneste toewijzingen:
first level:
second level:
? third level
:
forth level: value of implicit key
? third level, second key
: value of explicit key
?
mapping as: key of
another: mapping
: scalar value of mapping key
first level, second key:
last value
Tekstreeksen over meerdere regels splitsen
- Without quotes:
You can just
split a long piece of text like this.
- With quotes:
"[But be careful:
if you \"need\" punctuation, put double quotes around it. You can ev\
en split without spaces by using backslashes."
- Or single quotes:
'This works
but isn''t as flexible'
- If you want to keep those new line characters: |
Then do
it this way with
a pipe (|) character. (This string has three \n characters)
- Or you can have just the one final new line: >
This string has
just one \n character, at the very end.
- Block indicators:
Look up >-, >+, |- and |+ for fine tuning.
Ontsnappende tekens
YAML ondersteunt drie stijlen van escape-notatie:
Entiteit ontsnapt
een. spatie: "& # x20;"
b. dubbele punt: "& # 58;"
c. ampersand: "& amp;"
Unicode ontsnapt
een. spatie: "\ u0020"
b. enkele quote: "\ u0027"
c. dubbel citaat: "\ u0022"
Geciteerde ontsnappingen
een. dubbel citaat in enkel citaat: 'Is "ik altijd lieg" een echte uitspraak?'
b. genummerd dubbel citaat: "Ze zei:" Ik stop "
c. genestelde enkele quote: 'Hij was sprakeloos:' ''