logo

Tipuri de date YAML

YAML are trei tipuri de tipuri de date:

  1. Scalar
  2. Listă
  3. 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:

  1. Tip de date numerice
  2. Ş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.