Skip to Content

Wat is YAML en kunt u multiline strings schrijven?

YAML is een afkorting van "yet another markup language" of "YAML ain't markup language," de laatste recursieve afkorting wordt gebruikt om te benadrukken dat YAML voor data is en niet voor documenten. YAML is een dataserialisatietaal die wordt gebruikt om configuratiebestanden te schrijven voor de implementatie van infrastructuur. Als u bijvoorbeeld een Docker-applicatie in Kubernetes wilt implementeren, gebruikt u een YAML-bestand om de instantie te configureren. YAML is menselijk leesbaar, dus het is gemakkelijk om een bestand aan te maken en er instructies uit te lezen tijdens implementaties.

Als YAML nieuw voor u is, zal het niet lang duren voor u zich realiseert dat u een manier nodig hebt om uw strings op te breken in meerdere regels. Dit is een van de meest gestelde YAML-vragen op het web. In dit artikel behandelen we de twee belangrijkste benaderingen van YAML multiline strings, en enkele andere veelgestelde vragen.

YAML en Whitespace: Wat u moet weten

YAML-bestanden gebruiken whitespaces en carriage returns, maar de inhoud wordt geserialiseerd bij opname in een specifieke bron. Ontwikkelaars die een YAML-bestand maken, kunnen tekst opmaken met behulp van streepjes en spatiëring om de leesbaarheid te vergroten. YAML behandelt whitespaces op dezelfde manier als andere talen, dus er kunnen er zoveel zijn als nodig is om een bestand op te maken.

Hoe regels op te breken voor YAML Multiline Strings

Wanneer u YAML-bestanden opneemt, wilt u soms de regeleinden in een multiline string behouden. Neem de volgende pseudocode als voorbeeld:

    sleutel:

            item1

            item2

            item3

Na elk regelitem (bijv. item1, item2 en item3) volgt een carriage return. Als u de YAML-syntaxis laat zoals hij is, wordt de string als volgt:

item1 item2 item3

Dit stringformaat maakt één lange string zonder enige carriage returns, dus u wilt misschien de regeleinden behouden. Regeleinden kunnen bewaard blijven met de literal operator. De literal operator is het pipe-teken ("|"). Om regeleinden te behouden, moet uw YAML-syntaxis als volgt worden gewijzigd:

    sleutel: |

            item1

            item2

            item3

Let op het pipe-teken na de "sleutel"-opdracht. Wanneer de toepassing het YAML-bestand opneemt, zal het worden geconverteerd naar de volgende string:

item1\nitem2\nitem3

Het "\n"-teken staat voor een nieuwe regel. Het printen van deze string naar een applicatie zal elk item weergeven met een carriage return om de opmaak in de YAML-instructies te behouden.

YAML Multiline Blocks vs. lange Strings

Voor lange strings moet u multiline blokken gebruiken om een YAML-bestand te lezen. Als u bijvoorbeeld een alinea van 250 woorden in een YAML-bestand hebt, moet u de zinnen opdelen in multiline blocks. U wilt de carriage returns niet behouden, behalve aan het eind van een alinea. U kunt een YAML-bestand opmaken om meerdere regels te gebruiken voor lange strings en de string seriëren om spaties toe te voegen aan elk item in plaats van een nieuwe regel-teken. 

Om een spatie te gebruiken in plaats van een nieuwe regel toe te voegen, gebruikt u de folded operator (“>”):

    sleutel: >

            item1

            item2

            item3

Met de folded operator voegt YAML een spatie toe bij het maken van de string. De string ziet er als volgt uit:

item1 item2 item3\n

YAML Multiline FAQ's

Hoe voegt u een regeleinde in in YAML?

Met de literal operator ("|") blijven regeleinden in een YAML-string behouden. U creëert een regeleinde met de carriage return-toets op dezelfde manier als in een standaard document. Het volgende voorbeeld bewaart de carriage return in een YAML-string:

    sleutel: |

            item1

            item2

            item3

Kunnen er in YAML lege regels staan?

Ja, een string die wordt weergegeven als een blok tekst kan ook lege regels bevatten. De keep operator ("|+")  bewaart blanco lege regels samen met het nieuwe regel-teken. De volgende YAML is een voorbeeld van een multiline string met twee lege regels aan het eind van het blok:

    sleutel: |+

            item1

            item2

            item3

Een YAML-parser zal van de bovenstaande syntaxis de volgende string weergeven:

item1\nitem2\nitem3\n\n

Geeft YAML om whitespace?

Een tab whitespace is een illegaal karakter in YAML, dus eventuele inspringingen moeten worden gebruikt met een standaard enkele spatie. Tabs kunnen worden gebruikt in aangehaalde strings, maar ze kunnen niet worden gebruikt om een YAML-bestand op te maken. Consistentie in het inspringen van whitespace is belangrijk voor de leesbaarheid van data.

Zijn spaties toegestaan in YAML?

Ja, u kunt standaard spaties gebruiken in een YAML-bestand. Om in te springen moeten spaties worden gebruikt en niet het tab-teken. Tab-tekens konden fouten veroorzaken tijdens het parsen van een YAML-bestand.

09/2024
Portworx on Red Hat OpenShift Bare Metal
A validated architecture and design model to deploy Portworx® on Red Hat OpenShift running on bare metal hosts.
Referentiearchitectuur
57 pagina's
NEEM CONTACT MET ONS OP
Vragen, opmerkingen?

Hebt u een vraag of opmerking over Pure-producten of certificeringen?  Wij zijn er om te helpen.

Een demo inplannen

Plan een livedemo in en zie zelf hoe Pure kan helpen om jouw data in krachtige resultaten om te zetten. 

Bel ons: 31 (0) 20-201-49-65

Media: pr@purestorage.com

 

Pure Storage

Herikerbergweg 292

1101 CT . Amsterdam Zuidoost

The Netherlands

info@purestorage.com

Sluiten
Uw browser wordt niet langer ondersteund!

Oudere browsers vormen vaak een veiligheidsrisico. Om de best mogelijke ervaring te bieden bij het gebruik van onze site, dient u te updaten naar een van deze nieuwste browsers.