logo

Typy údajov YAML

YAML má tri typy dátových typov:

  1. Skalárne
  2. Zoznam
  3. Slovník

Skalárny typ údajov:

Skalárny je jednoduchý dátový typ. V YAML znamená skalár jednoduchú hodnotu kľúča. Hodnota skaláru môže byť celé číslo, float, boolean a reťazec. Skalárne typy údajov sú rozdelené do dvoch typov údajov:

  1. Číselný typ údajov
  2. Reťazec

Číselný typ údajov

Existujú tri typy číselných dátových typov:

  • Celé číslo
  • Čísla s pohyblivou rádovou čiarkou
  • Booleans

An Integer dátový typ môže byť desiatkové, osmičkové alebo hexadecimálne.

Napríklad:

porovnateľný zoznam
 --- age: 12345 octalexample: 012345 hexaexample: 0x12d4 

Tu je hexadecimálna hodnota označená 0x a osmičková hodnota je označená úvodnou nulou. Keď spustíme tento dokument v našom python skripte, vygeneruje sa nasledujúci výstup:

 age: 12345 octalexample: 9946 hexaexample: 4820 

The s pohyblivou rádovou čiarkou môžu byť pevné a exponenciálne.

Napríklad:

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

Keď vyhodnotíme vyššie uvedenú entitu, dostaneme nasledovné:

 height: 180.0 exp: 1230150.0 

A Booleovská hodnota môže byť True/False alebo Yes/No alebo On/Off.

Napríklad:

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

Reťazec

Reťazce YAML sú Unicode. V nasledujúcom príklade budeme definovať jednoduchý reťazec bez použitia úvodzoviek.

Príklad:

 --- str1: this is a normal string 

Keď to spracujeme, vygeneruje sa nasledujúci výstup:

 str1: this is a normal string 

Teraz zadefinujeme reťazec s escape sekvenciou. Nasledujúci reťazec obsahuje špeciálny znak (čokoľvek iné ako alfanumerické), takže obsahuje dvojité úvodzovky.

java regex pre
 --- str1: 'the cost is 390
' str2: the cost is 390
 

Keď to spracujeme, vygeneruje sa nasledujúci výstup:

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

Počas súboru YAML môžeme nastaviť hodnotu dátovej premennej na hodnotu null. Neskôr môžeme napísať program na zmenu hodnoty null na akúkoľvek inú hodnotu.

 --- str1: null str2: ~ 

Náš program to spracuje takto:

 str1: none str2: none 

V YAML môžeme napísať viacriadkový reťazec do jedného riadku pomocou symbolu >. V tomto prípade bude znak nového riadku ( ) ignorovaný.

dopredné reťazenie

Príklad:

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

Vyššie uvedený reťazec bude interpretovaný bez nových riadkov takto:

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

V YAML môžeme napísať viacriadkový reťazec do nového riadku pomocou | symbol. V tomto bude zahrnutý znak nového riadku ( ).

Príklad:

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

Takže vidíme nové riadky tam, kde sú v dokumente takto:

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

zoznamy

Zoznam môžeme definovať v jednom riadku takto:

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

Tento štýl je známy ako blokový štýl. Vyššie uvedený zoznam môžeme umiestniť do viacerých riadkov takto:

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

Tento štýl je známy ako štýl prúdenia. Zoznam, ktorý obsahuje zložité objekty, potrebuje viacero riadkov.

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

Pole môže obsahovať ľubovoľný počet platných hodnôt YAML. Hodnota zoznamu však nemôže byť rovnakého typu.

Slovníky

Ak chceme napísať komplexný súbor YAML, ktorý obsahuje komplexnú dátovú štruktúru, použijeme slovníky. Je to zbierka párov kľúč: hodnota a každý z párov kľúč: hodnota môže byť vnorený s množstvom možností.

Príklad 1:

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

Vo vyššie uvedenom príklade je študent prvým kľúčom a John je hodnota. Záľuby sú druhým kľúčom, ale je vnorený, čo znamená, že obsahuje zoznam hodnôt. Hodnotou kľúča môže byť opäť pár kľúč: hodnota, ktorý uvidíme v nasledujúcom príklade.

gb vs mb

Príklad 2:

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

SubjectDetails zobrazuje kľúč a hodnota tohto kľúča je zoznam párov kľúč: hodnota. FatherName, motherName a subjectName sú kľúče. Kde kľúč subjectName obsahuje zoznam kľúčov: páry hodnôt a predmet1 a predmet2 sú kľúče pre hodnoty 70 a 100.