logo

YAML tipovi podataka

YAML ima tri vrste tipova podataka:

  1. Skalar
  2. Popis
  3. Rječnik

Skalarni tip podataka:

Skalar je jednostavan tip podataka. U YAML-u, skalar znači jednostavnu vrijednost za ključ. Vrijednost skalara može biti cijeli broj, float, Booleov i niz. Skalarni tipovi podataka klasificiraju se u dva tipa podataka:

  1. Brojčani tip podataka
  2. Niz

Brojčani tip podataka

Postoje tri tipa numeričkih podataka:

pretvaranje niza u int
  • Cijeli broj
  • Brojevi s pomičnim zarezom
  • Booleovi

An Cjelobrojni tip podataka može biti decimalni, oktalni ili heksadecimalni.

Na primjer:

 --- age: 12345 octalexample: 012345 hexaexample: 0x12d4 

Ovdje je heksadecimalna vrijednost označena s 0x, a oktalna vrijednost označena je vodećom nulom. Kada pokrenemo ovaj dokument na našoj python skripti, generirat će se sljedeći izlaz:

 age: 12345 octalexample: 9946 hexaexample: 4820 

The vrijednost s pomičnim zarezom može biti fiksna i eksponencijalna.

Na primjer:

 --- height: 180.0 exp: 12.3015e+05 

Kada procijenimo gornji entitet, dobit ćemo sljedeće:

 height: 180.0 exp: 1230150.0 

A Booleova vrijednost može biti točno/netočno ili da/ne ili uključeno/isključeno.

Na primjer:

 --- boolenval1: True booleanval2: False fan: On light: Off 

Niz

YAML nizovi su Unicode. U sljedećem primjeru definirat ćemo jednostavan niz, bez navodnika.

Primjer:

arraylist metode
 --- str1: this is a normal string 

Kada to obradimo, generirat će se sljedeći izlaz:

 str1: this is a normal string 

Sada ćemo definirati niz s izlaznom sekvencom. Sljedeći niz sadrži poseban znak (bilo što osim alfanumeričkog), pa sadrži dvostruke navodnike.

 --- str1: 'the cost is 390
' str2: the cost is 390
 

Kada to obradimo, generirat će se sljedeći izlaz:

 str1: the cost is 390 str2: the cost is 390
 

Tijekom YAML datoteke, možemo postaviti vrijednost podatkovne varijable na null. Kasnije možemo napisati program za promjenu vrijednosti null u bilo koju drugu vrijednost.

 --- str1: null str2: ~ 

Naš program to obrađuje kao:

 str1: none str2: none 

U YAML-u, možemo napisati višeredni niz u jednom retku koristeći > simbol. U ovom slučaju, znak novog retka ( ) bit će zanemaren.

Primjer:

 str: > this is a multi-line string it spans more than one line 

Gornji niz tumačit će se bez novih redaka na sljedeći način:

 str : this is a multi-line string it spans more than one line 

U YAML-u možemo pisati višeredni niz u novom retku koristeći | simbol. Ovdje će biti uključen znak novog retka ( ).

Primjer:

 str: | this is a multi-line string it spans more than one line 

Dakle, vidimo nove retke gdje se nalaze u dokumentu kako slijedi:

 str : this is a multi-line string it spans more than one line 

Popisi

Popis možemo definirati u jednom retku na sljedeći način:

 --- items: [6, 7, 8, 9, 10] name: [six, seven, eight, nine, ten] 

Ovaj stil je poznat kao blok stil. Gornji popis možemo staviti u više redaka na sljedeći način:

 --- items: - 6 - 7 - 8 name: - 'six' - 'seven' - 'eight' - 'nine' 

Ovaj stil je poznat kao flow style. Popis koji sadrži složene objekte treba više redaka.

 --- items: - values: value1: value 2: value 3: - other values: key: value 

Niz može sadržavati bilo koji broj valjanih YAML vrijednosti. Ali vrijednost popisa ne može biti iste vrste.

Rječnici

Ako želimo napisati složenu YAML datoteku koja sadrži složenu strukturu podataka, koristit ćemo rječnike. To je zbirka parova ključ:vrijednost i svaki od parova ključ:vrijednost može se ugniježditi s mnogo opcija.

Primjer 1:

 --- student1: 'john' hobbies: - music - reading - dancing 

U gornjem primjeru student je prvi ključ, a john je vrijednost. Hobiji su drugi ključ, ali on je ugniježđen, što znači da sadrži popis vrijednosti. Vrijednost ključa opet može biti par ključ:vrijednost, što ćemo vidjeti u sljedećem primjeru.

Primjer 2:

 student2: fatherName: 'William' motherName: 'Marry' subjectDetails: subject1: 70 subject2: 100 

SubjectDetails prikazuje ključ, a vrijednost ovog ključa je popis parova ključ:vrijednost. ime oca, ime majke i ime subjekta su ključevi. Gdje ključ subjectName sadrži popis parova ključ: vrijednost, a subject1 i subject2 su ključevi za vrijednosti 70 i 100.

testiranje kompatibilnosti