logo

YAML-tietotyypit

YAML:ssa on kolmen tyyppisiä tietotyyppejä:

  1. Skalaari
  2. Lista
  3. Sanakirja

Skalaaritietotyyppi:

Skalaari on yksinkertainen tietotyyppi. YAML:ssä skalaari tarkoittaa yksinkertaista arvoa avaimelle. Skalaarin arvo voi olla kokonaisluku, float, Boolen arvo ja merkkijono. Skalaaritietotyypit luokitellaan kahteen tietotyyppiin:

  1. Numeerinen tietotyyppi
  2. merkkijono

Numeerinen tietotyyppi

Numeerisia tietotyyppejä on kolmenlaisia:

  • Kokonaisluku
  • Liukulukuluvut
  • Booleans

An Kokonaislukutietotyyppi voi olla desimaali, oktaali tai heksadesimaali.

Esimerkiksi:

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

Tässä heksadesimaaliarvo ilmaistaan ​​0x:lla ja oktaaliarvo on merkitty etunollalla. Kun suoritamme tämän asiakirjan python-skriptillämme, seuraava tulos luodaan:

 age: 12345 octalexample: 9946 hexaexample: 4820 

The liukulukuarvo voi olla kiinteä ja eksponentiaalinen.

Esimerkiksi:

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

Kun arvioimme yllä olevaa kokonaisuutta, saamme seuraavat:

verkko ja verkkotyypit
 height: 180.0 exp: 1230150.0 

A Boolen arvo voi olla True/False tai Yes/No tai On/Off.

Esimerkiksi:

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

merkkijono

YAML-merkkijonot ovat Unicode-koodia. Seuraavassa esimerkissä aiomme määrittää yksinkertaisen merkkijonon ilman lainausmerkkejä.

Esimerkki:

lihavoitu teksti css:ssä
 --- str1: this is a normal string 

Kun käsittelemme tämän, luodaan seuraava tulos:

 str1: this is a normal string 

Nyt määritämme merkkijonon, jossa on pakomerkkijono. Seuraava merkkijono sisältää erikoismerkin (mitä tahansa muuta kuin aakkosnumeerista), joten se sisältää lainausmerkkejä.

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

Kun käsittelemme tämän, luodaan seuraava tulos:

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

YAML-tiedoston aikana voimme asettaa datamuuttujan arvon nollaksi. Myöhemmin voimme kirjoittaa ohjelman, joka muuttaa nollan arvon mihin tahansa muuhun arvoon.

 --- str1: null str2: ~ 

Ohjelmamme käsittelee tämän seuraavasti:

 str1: none str2: none 

YAML:ssä voimme kirjoittaa monirivisen merkkijonon yhdelle riville käyttämällä symbolia >. Tässä rivinvaihtomerkki( ) ohitetaan.

Esimerkki:

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

Yllä oleva merkkijono tulkitsee ilman uusia rivejä seuraavasti:

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

YAML:ssä voimme kirjoittaa monirivisen merkkijonon rivinvaihdossa käyttämällä | symboli. Tässä rivinvaihtomerkki ( ) sisällytetään.

Esimerkki:

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

Joten näemme uudet rivit missä ne ovat asiakirjassa seuraavasti:

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

Luettelot

Voimme määrittää luettelon yhdellä rivillä seuraavasti:

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

Tämä tyyli tunnetaan lohkotyylinä. Voimme laittaa yllä olevan luettelon useille riveille seuraavasti:

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

Tämä tyyli tunnetaan virtaustyylinä. Monimutkaisia ​​objekteja sisältävä luettelo vaatii useita rivejä.

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

Mikä tahansa määrä kelvollisia YAML-arvoja voi sisältää taulukon. Mutta luettelon arvo ei voi olla samaa tyyppiä.

Sanakirjat

Jos haluamme kirjoittaa monimutkaisen YAML-tiedoston, joka sisältää monimutkaisen tietorakenteen, käytämme sanakirjoja. Se on kokoelma avain: arvo -pareja ja jokainen avain: arvo -pareja voidaan upottaa sisäkkäin monilla vaihtoehdoilla.

Esimerkki 1:

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

Yllä olevassa esimerkissä opiskelija on ensimmäinen avain ja john on arvo. Harrastukset ovat toinen avain, mutta se on sisäkkäinen, mikä tarkoittaa, että se sisältää luettelon arvoista. Avaimen arvo voi olla jälleen avain: arvo -pari, jonka näemme seuraavassa esimerkissä.

Esimerkki 2:

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

SubjectDetails näyttää avaimen, ja tämän avaimen arvo on luettelo avain: arvo -pareista. isänNimi, äitiNimi ja subjektinNimi ovat avaimet. Avain SubjectName sisältää luettelon avaimista: arvoparit sekä aihe1 ja aihe2 ovat avaimia arvoille 70 ja 100.

ämpärilajittelu