mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-25 02:15:57 +00:00
4.3 KiB
4.3 KiB
language | filename | contributors | translators | lang | ||||||
---|---|---|---|---|---|---|---|---|---|---|
yaml | learnyaml-nl.yaml |
|
|
nl-nl |
YAML is een data serialisatie taal ontworpen om snel te kunnen worden begrepen door mensen.
Het is een strikte superset van JSON en bevat nieuwe regels en een stricte manier van inspringen, zoals bij Python. In tegenstelling tot Python kan je alleen geen tab tekens gebruiken.
# Commentaar in YAML ziet er zo uit
################
# SCALAR TYPES #
################
# Ons hoofd object (Wat in het hele document gebruikt wordt) is een map,
# dit staat gelijk aan een dictionary, hash of object in andere talen.
sleutel: waarde
nog_een_sleutel: Een andere waarde
nummer_waarde: 100
wetenschappelijke_waarde: 1e+12
boolean_waarde: true
null_waarde: null
sleutel met spaties: waarde
# Merk op dat strings niet verplicht in quotes moeten, maar dit kan wel.
quote_waarde: "Een string in quotes"
"Ook sleutels kunnen in quotes": "Dit is bijvoorbeeld handig als je een dubbelepunt wilt gebruiken in je key"
# Tekst over meerdere lijnen kan je schrijven als een 'letterlijk blok' (met |)
# Of een 'gevouwen blok' (met >)
letterlijk_blok: |
Dit hele blok met tekst is de waarde van de 'letterlijk_blok' sleutel,
met nieuwe lijnen behouden.
Het blok blijft door gaan tot het geeindigd wordt door korter te inspringen.
Lijnen die groter zijn ingesprongen behouden dit.
gevouwen_stijl: >
Dit blok met tekst zal de waarde zijn van 'gevouwen_stijl',
maar deze keer zullen alle nieuwe lijnen worden vervangen met een spatie.
Lege lijnen, zoals hierboven, zullen worden vertaald naar een nieuwe lijn.
Meer ingesprongen lijnen zullen hun nieuwe lijnen ook behouden,
deze tekst zal over 2 lijnen te zien zijn.
####################
# COLLECTION TYPES #
####################
# Nesten wordt bereikt met inspringen.
geneste_map:
sleutel: waarde
andere_sleutel: andere waarde
andere_geneste_map:
hallo: wereld
# In een map is een sleutel niet verplicht om een string te gebruiken
0.25: een float als sleutel
# Sleutels kunnen ook meerdere lijnen gebruiken met behulp van het vraagteken
? |
Dit is een sleutel
met meerdere lijnen
: en dit is de waarde
# YAML staat ook collection types toe in sleutels, maar veel programmeertalen
# zullen hierover klagen.
# Sequences (gelijk aan lijsten of arrays) zien er zo uit:
een_sequence:
- Item 1
- Item 2
- 0.5 # sequences kunnen meerdere type waardes bevatten.
- Item 4
- sleutel: waarde
andere_sleutel: andere waarde
-
- Dit is een sequence
- in een andere sequence
# Doordat YAML een superset van JSON is kan je ook JSON-stijl mappen en
# sequences maken:
json_map: {"sleutel": "waarde"}
json_seq: [3, 2, 1, "takeoff"]
#######################
# EXTRA YAML FUNCTIES #
#######################
# YAML heeft ook een handige functie genaamd 'anchors' (ankers), deze laten je
# makkelijk de waarde van ergens anders in je document kopieëren. Beide sleutels
# krijgen dezelfde waarde:
geankert_content: &anker_naam Deze string zal verschijnen als waarde voor de twee sleutels
andere_anker: *anker_naam
# YAML heeft ook tags, deze gebruik je om een expliciet type te verklaren
expliciete_string: !!str 0.5
# Sommige parsers gebruiken taal specifieke tags, zoals deze voor Python's
# complexe nummer type:
python_complex_nummer: !!python/complex 1+2j
####################
# EXTRA YAML TYPES #
####################
# Strings en nummer zijn niet de enige types die YAML begrijpt.
# ISO opgemaakte datum en datumtijd notaties werken ook:
datumtijd: 2001-12-15T02:59:43.1Z
datumtijd_met_spaties: 2001-12-14 21:59:43.10 -5
datum: 2002-12-14
# De !!binary tag geeft aan dat de string een base64-gecodeerde
# binary blob is.
gif_bestand: !!binary |
R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5
OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+
+f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC
AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs=
# YAML heeft ook een set type, dat ziet er zo uit:
set:
? item1
? item2
? item3
# Zoals in Python zijn sets gewoon mappen met null waardes;
# bovenstaand is gelijk aan:
set2:
item1: null
item2: null
item3: null