YAML are trei tipuri de tipuri de date:
- Scalar
- Listă
- Dicţionar
Tip de date scalare:
Scalar este un tip de date simplu. În YAML, scalar înseamnă o valoare simplă pentru o cheie. Valoarea scalarului poate fi întreagă, flotantă, booleană și șir. Tipurile de date scalare sunt clasificate în două tipuri de date:
- Tip de date numerice
- Şir
Tip de date numerice
Există trei tipuri de tipuri de date numerice:
- Întreg
- Numere în virgulă mobilă
- booleene
Un Tip de date întreg poate fi zecimal, octal sau hexazecimal.
De exemplu:
--- age: 12345 octalexample: 012345 hexaexample: 0x12d4
Aici, valoarea hex este indicată cu 0x, iar valoarea octală este indicată prin zero. Când rulăm acest document pe scriptul nostru python, va fi generată următoarea ieșire:
lup versus vulpe
age: 12345 octalexample: 9946 hexaexample: 4820
The valoare în virgulă mobilă poate fi fix și exponențial.
De exemplu:
--- height: 180.0 exp: 12.3015e+05
Când evaluăm entitatea de mai sus, vom obține următoarele:
height: 180.0 exp: 1230150.0
A Valoare booleană poate fi Adevărat/Fals sau Da/Nu sau Activat/Dezactivat.
De exemplu:
--- boolenval1: True booleanval2: False fan: On light: Off
Şir
Șirurile YAML sunt Unicode. În exemplul următor, vom defini un șir simplu, fără a folosi ghilimele.
Exemplu:
--- str1: this is a normal string
Când procesăm acest lucru, va fi generată următoarea ieșire:
str1: this is a normal string
Acum, vom defini un șir cu o secvență de escape. Următorul șir conține un caracter special (orice altceva decât alfanumeric), deci conține ghilimele duble.
variabila bash
--- str1: 'the cost is 390 ' str2: the cost is 390
Când procesăm acest lucru, va fi generată următoarea ieșire:
str1: the cost is 390 str2: the cost is 390
În timpul fișierului YAML, putem seta valoarea unei variabile de date să fie nulă. Mai târziu, putem scrie un program pentru a schimba valoarea null cu orice altă valoare.
--- str1: null str2: ~
Programul nostru procesează acest lucru ca:
str1: none str2: none
În YAML, putem scrie un șir cu mai multe linii într-o singură linie folosind simbolul >. În aceasta, un caracter de linie nouă ( ) va fi ignorat.
sortare cu găleată
Exemplu:
str: > this is a multi-line string it spans more than one line
Șirul de mai sus se va interpreta fără noile linii după cum urmează:
str : this is a multi-line string it spans more than one line
În YAML, putem scrie șir cu mai multe linii într-o linie nouă folosind | simbol. În aceasta, va fi inclus caracterul newline( ).
Exemplu:
str: | this is a multi-line string it spans more than one line
Deci vedem noile linii unde se află în document, după cum urmează:
str : this is a multi-line string it spans more than one line
Liste
Putem defini lista într-o singură linie după cum urmează:
--- items: [6, 7, 8, 9, 10] name: [six, seven, eight, nine, ten]
Acest stil este cunoscut sub numele de stil bloc. Putem pune lista de mai sus în mai multe rânduri, după cum urmează:
--- items: - 6 - 7 - 8 name: - 'six' - 'seven' - 'eight' - 'nine'
Acest stil este cunoscut sub numele de stil de flux. O listă care conține obiecte complexe are nevoie de mai multe linii.
convenția de denumire a java
--- items: - values: value1: value 2: value 3: - other values: key: value
Orice număr de valori YAML valide poate conține printr-o matrice. Dar valoarea unei liste nu poate fi de același tip.
Dicționare
Dacă dorim să scriem un fișier YAML complex care conține structura complexă de date, vom folosi dicționare. Este o colecție de perechi cheie: perechi valori și fiecare dintre perechile cheie: valoare pot fi imbricate cu o mulțime de opțiuni.
Exemplul 1:
--- student1: 'john' hobbies: - music - reading - dancing
În exemplul de mai sus, student este prima cheie, iar john este valoarea. Hobby-urile sunt a doua cheie, dar este imbricată, ceea ce înseamnă că conține o listă de valori. Valoarea cheii poate fi din nou o pereche cheie: valoare, pe care o vom vedea în exemplul următor.
Exemplul 2:
student2: fatherName: 'William' motherName: 'Marry' subjectDetails: subject1: 70 subject2: 100
Subiectul Detalii arată o cheie, iar valoarea acestei chei este o listă de perechi cheie: valoare. fatherName, motherName și subjectName sunt cheile. Unde cheia subiectNume conține o listă de chei: perechile de valori și subiect1 și subiect2 sunt cheile pentru valorile 70 și 100.