logo

YAML Datatyper

YAML har tre typer av datatyper:

  1. Skalär
  2. Lista
  3. Lexikon

Skalär datatyp:

Skalär är en enkel datatyp. I YAML betyder skalär ett enkelt värde för en nyckel. Värdet på skalären kan vara heltal, float, booleskt och sträng. Skalära datatyper klassificeras i två datatyper:

  1. Numerisk datatyp
  2. Sträng

Numerisk datatyp

Det finns tre typer av numeriska datatyper:

  • Heltal
  • Flyttal
  • booleaner

En Heltalsdatatyp kan vara decimala, oktala eller hexadecimala.

Till exempel:

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

Här indikeras hex-värdet med 0x, och det oktala värdet indikeras med inledande nolla. När vi kör det här dokumentet på vårt python-skript kommer följande utdata att genereras:

 age: 12345 octalexample: 9946 hexaexample: 4820 

De flyttalsvärde kan vara fixerade och exponentiella.

Till exempel:

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

När vi utvärderar ovanstående enhet får vi följande:

dhl betyder vad
 height: 180.0 exp: 1230150.0 

A booleskt värde kan vara Sant/False eller Ja/Nej eller På/Av.

Till exempel:

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

Sträng

YAML-strängar är Unicode. I följande exempel kommer vi att definiera en enkel sträng, utan att använda citattecken.

Exempel:

 --- str1: this is a normal string 

När vi bearbetar detta kommer följande utdata att genereras:

 str1: this is a normal string 

Nu kommer vi att definiera en sträng med en flyktsekvens. Följande sträng innehåller ett specialtecken (allt annat än alfanumeriskt), så den innehåller dubbla citattecken.

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

När vi bearbetar detta kommer följande utdata att genereras:

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

Under YAML-filen kan vi ställa in värdet på en datavariabel till null. Senare kan vi skriva ett program för att ändra värdet på null till vilket annat värde som helst.

 --- str1: null str2: ~ 

Vårt program behandlar detta som:

 str1: none str2: none 

I YAML kan vi skriva en flerradssträng på en enda rad med hjälp av symbolen >. I detta kommer ett nyradstecken ( ) att ignoreras.

Exempel:

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

Ovanstående sträng kommer att tolka utan de nya raderna enligt följande:

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

I YAML kan vi skriva flerradssträng i en nyrad med | symbol. I detta kommer nyradstecknet ( ) att inkluderas.

Exempel:

mediaöverföring
 str: | this is a multi-line string it spans more than one line 

Så vi ser de nya raderna där de är i dokumentet enligt följande:

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

Listor

Vi kan definiera listan på en enda rad enligt följande:

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

Denna stil är känd som blockstil. Vi kan sätta listan ovan på flera rader enligt följande:

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

Denna stil är känd som flödesstil. En lista som innehåller komplexa objekt behöver flera rader.

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

Valfritt antal giltiga YAML-värden kan innehålla av en array. Men värdet på en lista kan inte vara av samma typ.

Ordböcker

Om vi ​​vill skriva en komplex YAML-fil som innehåller den komplexa datastrukturen kommer vi att använda ordböcker. Det är en samling nyckel: värdepar och var och en av nyckel: värdeparen kan kapslas med många alternativ.

Exempel 1:

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

I exemplet ovan är elev den första nyckeln och john är värdet. Hobbyer är den andra nyckeln, men den är kapslad, vilket betyder att den innehåller en lista med värden. Nyckelns värde kan återigen vara ett nyckel: värdepar, vilket vi kommer att se i nästa exempel.

Exempel 2:

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

SubjectDetails visar en nyckel, och värdet på denna nyckel är en lista med nyckel: värdepar. fadernamn, modernamn och ämnesnamn är nycklarna. Där ämnesnamnnyckel innehåller en lista med nyckel: värdepar och ämne1 och ämne2 är nycklarna för värdena 70 och 100.