YAML'de çok satırlı dizeler yazmak için 5 6 NINE (veya nasıl saydığınıza bağlı olarak 63 *) vardır.
TL; DR
Genellikle, istediğiniz >
:
key: >
Your long
string here.
Çizgi satırlarının \n
dizede olduğu gibi korunmasını istiyorsanız (örneğin, paragraflarla gömülü işaretleme) kullanın |
.
key: |
### Heading
* Bullet
* Points
Sonuna bir satır sonu eklenmesini istemiyorsanız >-
veya |-
bunun yerine kullanın .
Kelimelerin ortasındaki satırları bölmeniz veya tam anlamıyla satır satırlarını şu şekilde yazmanız gerekiyorsa \n
, bunun yerine çift tırnak kullanın:
key: "Antidisestab\
lishmentarianism.\n\nGet on it."
YAML delidir.
Skaler stilleri engelle ( >
,|
)
Bunlar , kaçış gibi \
ve "
kaçmadan karakterlere izin verir ve \n
dizenizin sonuna yeni bir satır ( ) ekler .
>
Katlanmış stil , dize içindeki tek yeni satırları kaldırır (ancak sonuna bir satır ekler ve çift yeni satırı tekli olarak dönüştürür):
Key: >
this is my very very very
long string
→ this is my very very very long string\n
|
Değişmez stil , dizedeki her yeni satırı değişmez bir satıra dönüştürür ve sonuna bir satır ekler:
Key: |
this is my very very very
long string
→ this is my very very very\nlong string\n
İşte YAML Spec 1.2'nin resmi tanımı
Skaler içerik, tüm satır sonlarının önemli olduğu değişmez bir stil (“|” ile gösterilir) kullanılarak blok gösteriminde yazılabilir. Alternatif olarak, boş veya daha girintili bir çizgiyi bitirmedikçe, her satır kesmesinin bir boşluğa katlandığı katlanmış stille (“>” ile gösterilir) yazılabilir.
Blok (göstergeyi chomping ile Blok stilleri >-
, |-
, >+
,|+
)
\n\n
Bir blok parçalama gösterge karakteri ekleyerek dizedeki son yeni satırın ve sondaki boş satırların ( ) işlenmesini denetleyebilirsiniz :
>
, |
: "clip": satır beslemesini koru, boş satırları kaldır.
>-
, |-
: "strip": satır beslemesini kaldır, boş satırları kaldır.
>+
, |+
: "keep": satır beslemesini koruyun, boş satırları takip edin.
"Akış" sayıl stilleri (
, "
,'
)
Bunlar sınırlı kaçışa sahiptir ve yeni satır karakteri olmayan tek satırlık bir dize oluşturur. Anahtarla aynı satırda veya önce ek satırlarla başlayabilirler.
düz stil (kaçış yok,kombinasyonyok#
veya:
kombinasyon, ilk karakterde sınırlar):
Key: this is my very very very
long string
çift tırnaklı stil (\
ve"
kaçınılması gereken\
, yeni satırlar değişmez bir\n
diziile eklenebilir, satırlar boşluklu boşluklar olmadan birleştirilebilir\
):
Key: "this is my very very \"very\" loooo\
ng string.\n\nLove, YAML."
→ "this is my very very \"very\" loooong string.\n\nLove, YAML."
tek tırnaklı stil (değişmez'
değer iki katına çıkarılmalıdır, çift tırnak işareti ile başlayan dizeleri ifade etmek için yararlı olabilecek özel karakterler olmamalıdır):
Key: 'this is my very very "very"
long string, isn''t it.'
→ "this is my very very \"very\" long string, isn't it."
özet
Bu tabloda, _
anlamına gelir space character
. \n
"satır içi \n
yeni satırlar" satırı hariç, "satırsonu yeni satır" hariç, "satırsonu karakteri" anlamına gelir.
> | " ' >- >+ |- |+
-------------------------|------|-----|-----|-----|------|------|------|------
Trailing spaces | Kept | Kept | | | | Kept | Kept | Kept | Kept
Single newline => | _ | \n | _ | _ | _ | _ | _ | \n | \n
Double newline => | \n | \n\n | \n | \n | \n | \n | \n | \n\n | \n\n
Final newline => | \n | \n | | | | | \n | | \n
Final dbl nl's => | | | | | | | Kept | | Kept
In-line newlines | No | No | No | \n | No | No | No | No | No
Spaceless newlines| No | No | No | \ | No | No | No | No | No
Single quote | ' | ' | ' | ' | '' | ' | ' | ' | '
Double quote | " | " | " | \" | " | " | " | " | "
Backslash | \ | \ | \ | \\ | \ | \ | \ | \ | \
" #", ": " | Ok | Ok | No | Ok | Ok | Ok | Ok | Ok | Ok
Can start on same | No | No | Yes | Yes | Yes | No | No | No | No
line as key |
Örnekler
"Boşluklardan" önceki satırdaki boşluklara dikkat edin.
- >
very "long"
'string' with
paragraph gap, \n and
spaces.
- |
very "long"
'string' with
paragraph gap, \n and
spaces.
- very "long"
'string' with
paragraph gap, \n and
spaces.
- "very \"long\"
'string' with
paragraph gap, \n and
s\
p\
a\
c\
e\
s."
- 'very "long"
''string'' with
paragraph gap, \n and
spaces.'
- >-
very "long"
'string' with
paragraph gap, \n and
spaces.
[
"very \"long\" 'string' with\nparagraph gap, \\n and spaces.\n",
"very \"long\"\n'string' with\n\nparagraph gap, \\n and \nspaces.\n",
"very \"long\" 'string' with\nparagraph gap, \\n and spaces.",
"very \"long\" 'string' with\nparagraph gap, \n and spaces.",
"very \"long\" 'string' with\nparagraph gap, \\n and spaces.",
"very \"long\" 'string' with\nparagraph gap, \\n and spaces."
]
Girinti göstergeli blok stilleri
Yukarıdakilerin sizin için yeterli olmaması durumunda, bir " blok girintisi göstergesi " ekleyebilirsiniz (eğer varsa blok kesme göstergenizden sonra):
- >8
My long string
starts over here
- |+1
This one
starts here
ek
Katlanmış stilde ilk olmayan satırların başına fazladan boşluk eklerseniz, bunlar bonus satırsonu ile korunur. Akış stillerinde bu olmaz:
- >
my long
string
- my long
string
→ ["my long\n string\n", "my long string"]
Ben bile yapamam.
*
Her biri 2 olası blok kesme göstergesine (veya hiçbirine) ve 9 olası girinti göstergesine (veya hiçbirine) sahip 2 blok stili, 1 düz stil ve 2 alıntı stili: 2 x (2 + 1) x (9 + 1) + 1 + 2 = 63
Bu bilgilerin bir kısmı burada da özetlenmiştir .