YAML ima tri vrste tipova podataka:
- Skalar
- Popis
- 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:
- Brojčani tip podataka
- 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