Mehrzeilige Strings in YAML: | und >, erklärt mit Live-Vorschau

Mehrzeilige Strings in YAML

Mehrzeilige Strings in YAML: | vs. > und Chomping mit - und + | We.Inc

Sieh genau, was die YAML-Blockstile | und > und die Chomping-Indikatoren -, clip und + erzeugen. Gib deinen eigenen Text ein und sieh zu, wie sich der resultierende String live aktualisiert.

YAML schreibt langen Text mit Block Scalars. Ein senkrechter Strich (|) behält jeden Zeilenumbruch genau so, wie er getippt wurde; ein Größer-als-Zeichen (>) faltet einzelne Zeilenumbrüche zu Leerzeichen. Ein Chomping-Indikator entscheidet dann über das Ende: - entfernt den letzten Zeilenumbruch, ohne Indikator bleibt einer erhalten, und + behält zusätzlich jede nachfolgende Leerzeile.

Die sechs Block-Scalar-Header und was sie erzeugen

Die Header-Zeile nach dem Schlüssel ist höchstens zwei Zeichen lang und entscheidet trotzdem, was dein Programm erhält. Wähle in der Vorschau einen Stil und einen Chomping-Indikator, tippe etwas Text, und der exakte String erscheint darunter in JSON-Notation, sodass jeder Zeilenumbruch als \n sichtbar ist.

Häufige Fragen

Was ist der Unterschied zwischen | und > in YAML?

Der senkrechte Strich beginnt einen Literal-Block: Jeder Zeilenumbruch, den du tippst, bleibt im Wert. Das Größer-als-Zeichen beginnt einen Folded-Block: Ein einzelner Umbruch zwischen zwei normalen Zeilen wird zu einem Leerzeichen, während Leerzeilen zu Zeilenumbrüchen werden.

Was bedeutet das Minuszeichen in |-?

Es ist der Chomping-Indikator strip. Der letzte Zeilenumbruch und alle Leerzeilen nach dem Text fallen weg, der Wert endet also beim letzten sichtbaren Zeichen.

Was bewirkt + nach | oder >?

Es ist der Indikator keep. Der letzte Zeilenumbruch und jede nachfolgende Leerzeile werden Teil des Werts. Ohne Indikator schneidet YAML ab (clip): Es behält einen abschließenden Zeilenumbruch und verwirft die Leerzeilen.

Warum werden manche Zeilen in meinem >-Block nicht gefaltet?

Zeilen, die mit zusätzlicher Einrückung beginnen, sind stärker eingerückte Zeilen. Das Falten verbindet sie nie, daher bleiben die Umbrüche um sie herum erhalten. So kannst du ein Codebeispiel oder eine Liste in gefaltetem Fließtext behalten.

Kann ich einen mehrzeiligen String ohne Block Scalars schreiben?

Ja. Ein String in doppelten Anführungszeichen darf \n-Escapes enthalten, und Scalars in Anführungszeichen oder ohne können sich über mehrere Zeilen erstrecken, wobei jeder einzelne Umbruch zu einem Leerzeichen gefaltet wird. Block Scalars sind leichter zu lesen, sobald Text lang wird.

Wie das Falten wirklich funktioniert

Einrückungsindikatoren

Block Scalars in echten Dateien

Shell-Befehle in einem CI-Schritt

Der Literal-Stil hält jeden Befehl auf seiner eigenen Zeile, genau wie die Shell es braucht.

Eine lange Beschreibung, zu einem Absatz gefaltet

Gefaltet und gestrippt: Der Wert ist eine einzige Textzeile ohne Zeilenumbruch am Ende.

Nachfolgende Leerzeilen behalten

Mit + bleibt die Leerzeile nach dem Text im Wert, der geparste String endet also mit zwei Zeilenumbrüchen.

Vorschau für Block Scalars

Tippe den Text, wähle einen Stil und einen Chomping-Indikator und sieh das YAML, das du schreiben würdest, neben dem exakten String, den ein Parser zurückgibt.

Zu speichernder Text

Blockstil

Literal |

Folded >

Chomping-Indikator

Strip -

Clip (Standard)

Keep +

Leerzeilen nach dem Block

YAML

Resultierender String (JSON-Notation)

{n} Zeichen, {b} Zeilenumbrüche

Danke für deine Bestellung. Sie wird innerhalb von zwei Tagen verschickt. Fragen? Antworte einfach auf diese E-Mail. Bestellnummer: 10442

Kostenlos starten · Keine Kreditkarte nötig

Verwandt: Ratgeber

Produkt

Für wen

Funktionen

Ressourcen

Unternehmen

Sitemap