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

yamlPierwsze kroki z yaml


Uwagi

YAML jest rekurencyjnym skrótem dla „ Y AML A in't M arkup L anguage”. Jest to czytelny dla człowieka standard serializacji danych dla wszystkich języków programowania.

Wersje

Wersja Data wydania
1.0 2004-01-29
1.1 2005-01-18
1.2 01.10.2009

Podstawowa składnia Yamla

YAML to format tekstowy umożliwiający przechowywanie danych strukturalnych w hierarchii. YAML został zaprojektowany tak, aby był czytelny dla ludzi i maszyn przy minimalnym nakładzie pracy. Specyfikację YAML można znaleźć na stronie yaml.org . Istnieje również karta referencyjna

Komentarze zaczynają się od # i przechodzą do nowej linii, komentarze muszą być oddzielone od innych tokenów spacją. Białe znaki nie są wolne, wcięcia muszą być spacjami, a nie tabulatorami. YAML weźmie pod uwagę, że zawarte są w nim wiersze poprzedzone większą liczbą spacji niż klucz nadrzędny. Ponadto wszystkie linie muszą być poprzedzone taką samą ilością spacji, aby należeć do tej samej mapy.

YAML ma sekwencje i mapowania jako typy kolekcji, oba mogą być reprezentowane w stylu przepływu i bloku.

Sekwencja ciągów skalarnych w YAML wygląda następująco:

[ one, two, three ]   # flow style

# or block style

- one
- two
- three
 

Mapowanie składa się z par klucz / wartość:

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
 

Podstawowe typy YAML

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

Mapowania stylów blokowych

Z niejawnymi kluczami:

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

Z niejawnymi i jawnymi kluczami:

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

key , another key i [1, 2, 3] są kluczami tego samego odwzorowania, chociaż używają różnych stylów klawiszy.


Zagnieżdżone odwzorowania:

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
 

Komentarze

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

Zauważ, że aby # mógł wprowadzić komentarz, musi albo

  • występują na początku linii lub
  • być poprzedzone spacją.

# zawsze musi następować spacja. # wewnątrz cytowanych skalarów nigdy nie rozpoczyna komentarzy. # może wprowadzać komentarze na końcu blokowych skalarów, ale dlatego musi być mniej wcięte niż podstawowe wcięcie bloku skalarnego (co jest zwykle określane przez wcięcie jego pierwszej niepustej linii).

Uciekające postacie

YAML obsługuje trzy style notacji ewakuacyjnej:

  1. Ucieczka jednostki

    za. spacja: „& # x20;”

    b. dwukropek: „& # 58;”

    do. ampersand: „& amp;”

  2. Ucieka Unicode

    za. spacja: „\ u0020”

    b. pojedynczy cytat: „\ u0027”

    do. podwójny cytat: „\ u0022”

  3. Cytowane ucieczki

    za. podwójny cytat w pojedynczym cytacie: „Czy„ zawsze kłamię ”to prawdziwe stwierdzenie?

    b. zagnieżdżony podwójny cytat: „Powiedziała:„ Odchodzę ””

    do. zagnieżdżony pojedynczy cytat: „Był oniemiały:”

Dzielenie ciągów tekstowych na wiele wierszy

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

Dane sekwencyjne YAML

Ten sam poziom listy:

- Cat
- Dog
- Goldfish
 

Lista zagnieżdżona:

-
 - Cat
 - Dog
 - Goldfish