Kasutaja:Kravi321/YAML

Allikas: Vikipeedia
YAML
Viimane väljalase 1.2 / 1. oktoober 2009
Veebisait yaml.org

YAML (YAML Ain’t Markup Language) on andmevahetusvorming, mis on loodud eesmärgiga olla võimalikult inimloetav ning lihtsasti integreeritav paljude programmeerimiskeeltega.[1]

YAML kasutab sarnaselt Pythonile kuuluvuse näitamiseks treppimist. See tähendab, et samale kaugusele joondatud ridadel asetsevad muutujad moodustavad ühtse terviku. Alates YAML 1.2 versioonist on kuuluvust on võimalik lisaks treppimisele näidata ka nurksulgudega [] loendite ning looksulgudega {} sõnastike puhul. Kuna alates versioonist 1.2 on JSON YAML-i alamhulk, siis on JSON formaadis failid ühtlasi valiidsed ka YAML vormingus.[2]

YAML vormingu kõige laialdasemaks kasutusalaks on konfiguratsioonifailid[2]. Vormingu lihtsasti loetav süntaks annab kasutajale kiire ülevaate aktiivsetest seadistustest.

YAML failide ametlik faililaiend on .yaml.[3]

Ajalugu[muuda | muuda lähteteksti]

YAML formaati esitles 2001. aastal Colin Clark[4], kes oli selle disaininud koostöös Ingy döt Neti[5] ja Oren Ben-Kikiga[5]. Esmalt oli akronüümi tähenduseks Yet Another Markup Language[6], kuid juba 2002. aastal avaldatud spetsifikatsiooniuuenduses oli see muudetud tänase versiooni, YAML Ain’t Markup Language, vastu[7]. Seda tehti, et eristada YAML-i kui andmete talletamisele spetsialiseerunud vormingut märgendkeeltest nagu HTML ja XML, mida kasutatakse dokumentide semantilise struktuuri edastamiseks.[8]

Süntaks ja andmetüübid[muuda | muuda lähteteksti]

YAML-i süntaksilised eripärad:

  • Treppimine on lubatud vaid tühikutega. Tabuleerimine on keelatud, kuna tabeldusmärgi käsitlus pole erinevates tekstiredaktorites standardiseeritud ja võib seetõttu segada vormingu interpreteerimist.[3]
  • Kommentaar algab sümboliga # ja lõppeb reavahetusega. Mitmerealisi kommentaare YAML ei toeta.
  • YAML fail võib koosneda mitmest dokumendist. Dokumendi algust tähistab kolm sidekriipsu --- ning lõppu kolm punkti .... Lõpu märkimine ei ole kohustuslik.

Muutujad[muuda | muuda lähteteksti]

YAML toetab klassikalisi andmetüüpe nagu sõne, täisarv, tõeväärtus ja ujukomaarv. Erinevalt paljudest teistest vormingutest on YAML-is sõnede kirjutamisel süntaksiliselt üsna vabad käed. Sõne võib kirjutada ühekordsete või kahekordsete jutumärkide vahele. Kui sõne ei vasta täisarvu, ujukomaarvu või tõeväärtuse süntaksile, ei alga erisümbolitega {, }, [, ], ,, &, *, #, ?, |, -, <, >, =, !, %, @, \ ning ei sisalda erisümboleid :, # , siis võib jutumärgid ära jätta.[9]

---
a: 123                     # täisarv
b: "123"                   # sõne 
c: '123'                   # sõne 
d: !!str 123               # sõne, kasutades tüüpimist
f: 123.0                   # ujukomaarv
g: true                    # tõeväärtus
h: Mari Maasikas           # sõne 
...

Sõnesid on võimalik kirjutada ka mitmerealisena. Selleks on kaks analoogset võimalust, mida saab kasutada vastavalt teksti vormindamise vajadusele. Püstkriipsuga | alustatud sõnesid parsitakse ilma reavahetusteta. Reavahetuste alles jätmiseks tuleb sõne alustada sümboliga >.[10]

tekst: |
   Kui Arno isaga koolimajja jõudis, olid tunnid juba alanud. 
   Kooliõpetaja kutsus mõlemad oma tuppa, kõneles nendega natuke aega, 
   käskis Arnol olla hoolas ja korralik ja seadis ta siis pinki ühe pikkade juustega poisi kõrvale istuma.

Loend[muuda | muuda lähteteksti]

Loendi elemente tähistatakse kirjele eelneva sidekriipsuga - . Samale kaugusele joondatud elemendid moodustavad loendikogumi.[10]

 - sõiduk
   - auto
     - Audi
     - BMW
   - lennuk
     - Airbus
     - Boeing

Sõnastik[muuda | muuda lähteteksti]

Sõnastikud koosnevad võti: väärtus paaridest. Väärtustena võib kasutada mistahes andmetüüpe.

# Töötajate andmed
-  martin:
    name: Martin Kuningas
    job: Arendaja
    skills:
      - python
      - java
      - pascal
-  mari:
    name: Mari Maasikas
    job: Analüütik
    skills:
      - excel
      - word
      - powerpoint

Vaata ka[muuda | muuda lähteteksti]

Viited[muuda | muuda lähteteksti]

  1. Oren Ben-Kiki, Clark Evans, Ingy döt Net (1. oktoober 2009). "YAML Ain't Markup Language (YAML™) Version 1.2". Vaadatud 15.01.2020.{{netiviide}}: CS1 hooldus: mitu nime: autorite loend (link)
  2. 2,0 2,1 Robert Gibb (17. juuli 2019). "What is YAML?". Vaadatud 15.01.2020.
  3. 3,0 3,1 YAML.org. "FAQ". Vaadatud 15.01.2020.
  4. Clark C . Evans (13. mai 2001). "YAML Draft 0.1". Vaadatud 15.01.2020.
  5. 5,0 5,1 YAML.org. "ABOUT". Vaadatud 15.01.2020.
  6. Brian Ingerson, Clark C. Evans, Oren Ben-Kiki (1. august 2001). "Yet Another Markup Language (YAML) 1.0". Vaadatud 15.01.2020.{{netiviide}}: CS1 hooldus: mitu nime: autorite loend (link)
  7. YAML.org. "NEWS". Vaadatud 15.01.2020.
  8. Eric Goebelbecker (11. detsember 2018). "YAML Tutorial: Everything You Need to Get Started in Minutes". Vaadatud 15.01.2020.
  9. tinita (3. märts 2018). "Strings in YAML - To Quote or not to Quote". Vaadatud 15.01.2020.
  10. 10,0 10,1 ansible. "YAML Syntax". Vaadatud 15.01.2020.