logo

YAML duomenų tipai

YAML yra trijų tipų duomenų:

  1. Skaliarinis
  2. Sąrašas
  3. Žodynas

Skaliarinių duomenų tipas:

Skaliarinis yra paprastas duomenų tipas. YAML skaliaras reiškia paprastą rakto reikšmę. Skaliario reikšmė gali būti sveikasis skaičius, plūduriuojantis, Būlio ir eilutės reikšmė. Skaliariniai duomenų tipai skirstomi į du duomenų tipus:

  1. Skaitmeninis duomenų tipas
  2. Styga

Skaitmeninis duomenų tipas

Yra trys skaitmeninių duomenų tipai:

int konvertavimas į eilutę Java
  • Sveikasis skaičius
  • Slankaus kablelio skaičiai
  • Būlios

An Sveikasis duomenų tipas gali būti dešimtainis, aštuntainis arba šešioliktainis.

Pavyzdžiui:

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

Čia šešioliktainė reikšmė nurodoma 0x, o aštuntainė reikšmė nurodoma nuliu priekyje. Kai paleisime šį dokumentą naudodami python scenarijų, bus sugeneruota ši išvestis:

 age: 12345 octalexample: 9946 hexaexample: 4820 

The slankiojo kablelio vertė gali būti fiksuotas ir eksponentinis.

Pavyzdžiui:

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

Įvertinę aukščiau pateiktą objektą, gausime:

 height: 180.0 exp: 1230150.0 

A Būlio vertė gali būti True/False arba Taip/Ne arba Įjungta/Išjungta.

Pavyzdžiui:

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

Styga

YAML eilutės yra Unicode. Šiame pavyzdyje mes apibrėžsime paprastą eilutę, nenaudodami kabučių.

Pavyzdys:

 --- str1: this is a normal string 

Kai tai apdorosime, bus sugeneruota ši išvestis:

 str1: this is a normal string 

Dabar apibrėžsime eilutę su pabėgimo seka. Šioje eilutėje yra specialus simbolis (bet kas, išskyrus raidinius ir skaitinius), todėl joje yra dvigubų kabučių.

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

Kai tai apdorosime, bus sugeneruota ši išvestis:

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

YAML failo metu duomenų kintamojo reikšmę galime nustatyti į nulį. Vėliau galime parašyti programą, kuri pakeis null reikšmę į bet kurią kitą reikšmę.

 --- str1: null str2: ~ 

Mūsų programa tai apdoroja taip:

 str1: none str2: none 

YAML galime parašyti kelių eilučių eilutę vienoje eilutėje naudodami simbolį >. Šiuo atveju naujos eilutės simbolis ( ) bus ignoruojamas.

Pavyzdys:

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

Aukščiau pateikta eilutė be naujų eilučių bus interpretuojama taip:

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

YAML naujoje eilutėje galime parašyti kelių eilučių eilutę naudodami | simbolis. Čia bus įtrauktas naujos eilutės simbolis ( ).

Pavyzdys:

žemėlapis mašinraščiu
 str: | this is a multi-line string it spans more than one line 

Taigi mes matome naujas eilutes ten, kur jos yra dokumente:

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

Sąrašai

Sąrašą galime apibrėžti vienoje eilutėje taip:

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

Šis stilius žinomas kaip blokinis stilius. Aukščiau pateiktą sąrašą galime sudėti į kelias eilutes taip:

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

Šis stilius žinomas kaip srauto stilius. Sąraše, kuriame yra sudėtingų objektų, reikia kelių eilučių.

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

Masyve gali būti bet koks galiojančių YAML reikšmių skaičius. Tačiau sąrašo vertė negali būti to paties tipo.

Žodynai

Jei norime parašyti sudėtingą YAML failą, kuriame yra sudėtinga duomenų struktūra, naudosime žodynus. Tai yra raktų: reikšmių porų ir kiekvienos raktų: reikšmių porų rinkinys, kurį galima sudėti su daugybe parinkčių.

1 pavyzdys:

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

Aukščiau pateiktame pavyzdyje studentas yra pirmasis raktas, o john yra reikšmė. Pomėgiai yra antrasis raktas, tačiau jis yra įdėtas, o tai reiškia, kad jame yra vertybių sąrašas. Rakto reikšmė vėl gali būti raktas: reikšmė pora, kurią matysime kitame pavyzdyje.

2 pavyzdys:

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

SubjectDetails rodo raktą, o šio rakto reikšmė yra raktų: reikšmių porų sąrašas. tėvo vardas, motinos vardas ir subjekto vardas yra raktai. Kur subjekto pavadinimo raktas apima raktų sąrašą: reikšmių poros ir subjektas1 bei tema2 yra 70 ir 100 reikšmių raktai.