YAML má tri typy dátových typov:
- Skalárne
- Zoznam
- 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:
- Číselný typ údajov
- 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.