Looking for yaml Answers? Try Ask4KnowledgeBase
Looking for yaml Keywords? Try Ask4Keywords

yamlKomma igång med yaml


Anmärkningar

YAML är en rekursiv akronym för " Y AML A in't M arkup L anguage". Det är en mänsklig läsbar dataserialiseringsstandard för alla programmeringsspråk.

versioner

Version Utgivningsdatum
1,0 2004-01-29
1,1 2005-01-18
1,2 2009-10-01

Grundläggande syntax för Yaml

YAML är ett textbaserat format som gör det möjligt att lagra strukturerade data i en hierarki. YAML är designad för att vara läsbar för människor och maskiner med ett minimum av omkostnader. YAML-specifikationen finns på yaml.org . Det finns också ett referenskort

Kommentarer börjar med # och går till ny linje, kommentarer måste separeras från andra symboler med blanksteg. Vitrummet är inte gratis, indragningen måste vara mellanslag, inte flikar. YAML kommer att överväga att rader som är förinställda med fler mellanslag än överordnade nyckeln finns i den. Dessutom måste alla rader förinställas med samma mängd utrymmen för att tillhöra samma karta.

YAML har sekvenser och kartläggningar som samlingstyper, båda kan representeras i flödes- och blockstil.

En sekvens av skalsträngar i YAML ser ut som:

[ one, two, three ]   # flow style

# or block style

- one
- two
- three
 

En kartläggning består av nyckel- / värdepar:

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
 

Grundläggande YAML-typer

integer: 25
string: "25"
float: 25.0
boolean: true
null type: null
 

Blockera kartläggningar

Med implicita nycklar:

key: value
another key:
  - some
  - more
  - values
[1, 2, 3]: last value, which has a flow style key
 

Med implicita och uttryckliga nycklar:

? key
: value
another key:
  - some
  - more
  - values
? [1, 2, 3]
: last value, which has a flow style key
 

key , en another key och [1, 2, 3] är nycklar med samma mappning, även om de använder olika nyckelformat.


Kapslade kartläggningar:

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
 

kommentarer

# 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)
 

Observera att för en # att införa en kommentar, måste den antingen

  • förekommer i början av en rad, eller
  • föregås av vitrum.

# måste alltid följas av vitrum. # inuti citerade skalarer börjar aldrig kommentarer. # kan introducera kommentarer i slutet av blockskalor, men därför måste det vara mindre intryckt än blockskalarens basindragning (som vanligtvis bestäms av indragningen av dess första icke-tomma rad).

Flyrande tecken

YAML stöder tre stilar av flyktnotation:

  1. Entitet flyr

    a. utrymme: "& # x20;"

    b. kolon: "& # 58;"

    c. ampersand: "& amp;"

  2. Unicode flyr

    a. utrymme: "\ u0020"

    b. enda offert: "\ u0027"

    c. dubbel citat: "\ u0022"

  3. Citerade flykt

    a. dubbelcitationstecken i enstaka offert: "Är" jag alltid ljuger "ett riktigt uttalande?"

    b. kapslade dubbla offert: "Hon sa" jag slutade ""

    c. kapslad enda citat: 'Han var mållös:' ''

Dela textsträngar över flera rader

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

YAML-sekvensdata

Samma listnivå:

- Cat
- Dog
- Goldfish
 

Kapslad lista:

-
 - Cat
 - Dog
 - Goldfish