YAML에서 여러 줄로 된 문자열을 작성하는 방법 에는 5 6 NINE (또는 계산 방법에 따라 63 *)이 있습니다.
TL; DR
보통, 당신은 원하는 >
:
key: >
Your long
string here.
\n
문자열 과 같이 줄 바꿈을 유지 하려면 (예 : 단락이있는 포함 된 마크 다운)을 사용하십시오 |
.
key: |
### Heading
* Bullet
* Points
끝에 줄 바꿈을 추가하지 않으려면 >-
또는 |-
대신 사용하십시오 .
단어 중간에 줄을 나누거나 문자 그대로 줄 바꿈을 입력 해야하는 경우 \n
대신 큰 따옴표를 사용하십시오.
key: "Antidisestab\
lishmentarianism.\n\nGet on it."
YAML은 미쳤다.
스칼라 스타일 차단 ( >
, |
)
이를 통해 이스케이프 처리 여부에 관계없이 문자를 사용할 수 \
있으며 문자열 끝에 "
새 줄 ( \n
)을 추가 할 수 있습니다.
>
접힌 스타일 은 문자열 내에서 줄 바꿈 하나를 제거하지만 끝에 줄 바꿈을 추가하고 두 줄 바꿈을 단일 줄로 변환합니다.
Key: >
this is my very very very
long string
→ this is my very very very long string\n
|
리터럴 스타일 은 문자열 내 모든 줄 바꿈을 리터럴 줄 바꿈으로 바꾸고 끝에 하나를 추가합니다.
Key: |
this is my very very very
long string
→ this is my very very very\nlong string\n
YAML Spec 1.2 의 공식 정의는 다음과 같습니다.
스칼라 내용은 모든 줄 바꿈이 중요한 리터럴 스타일 (“|”로 표시)을 사용하여 블록 표기법으로 작성할 수 있습니다. 또는 각 줄 바꿈이 빈 줄이나 더 들여 쓰기 된 줄로 끝나지 않는 한 공백으로 접히는 접힌 스타일 ( ">"로 표시)로 쓸 수도 있습니다.
블록 표시기를 갈망 블록 스타일 ( >-
, |-
, >+
, |+
)
블록 쵸핑 인디케이터 문자를 \n\n
추가 하여 문자열에서 마지막 새 줄의 처리와 후행 공백 줄 ( )을 제어 할 수 있습니다 .
>
, |
: "clip": 줄 바꿈을 유지하고 후행 빈 줄을 제거하십시오.
>-
, |-
: "스트립": 줄 바꿈을 제거하고 후행 공백 줄을 제거하십시오.
>+
, |+
: "keep": 줄 바꿈을 유지하고 빈 줄을 계속 유지합니다.
"흐름"스칼라 스타일 (
, "
, '
)
이것들은 이스케이프가 제한되어 있으며 줄 바꿈 문자가없는 한 줄 문자열을 구성합니다. 키와 같은 줄에서 시작하거나 추가 줄 바꿈으로 먼저 시작할 수 있습니다.
일반 스타일 (이스케이프 없음, 없음#
또는:
조합, 첫 문자 제한) :
Key: this is my very very very
long string
큰 따옴표 스타일 (\
및"
로 이스케이프되어야 함\
, 개행은 리터럴\n
시퀀스로 삽입가능, 후행 공백없이 행을 연결할 수 있음\
) :
Key: "this is my very very \"very\" loooo\
ng string.\n\nLove, YAML."
→ "this is my very very \"very\" loooong string.\n\nLove, YAML."
작은 따옴표 스타일 (리터럴'
은 반드시 두 배 여야하며, 특수 문자가 없어야하며, 큰 따옴표로 시작하는 문자열을 표현하는 데 유용 할 수 있음) :
Key: 'this is my very very "very"
long string, isn''t it.'
→ "this is my very very \"very\" long string, isn't it."
요약
이 표에서는을 _
의미 space character
합니다. 문자 그대로 백 슬래시와 n을 의미하는 "인라인 개행"행을 제외하고 \n
"개행 문자"( \n
자바 스크립트에서)를 의미합니다.
> | " ' >- >+ |- |+
-------------------------|------|-----|-----|-----|------|------|------|------
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 |
예
"공백"앞에있는 줄의 후행 공백에 유의하십시오.
- >
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."
]
들여 쓰기 표시기가있는 블록 스타일
위의 방법으로 충분하지 않은 경우를 대비하여 " 블록 들여 쓰기 표시기 "(블록 표시기 표시기가있는 경우)를 추가 할 수 있습니다 .
- >8
My long string
starts over here
- |+1
This one
starts here
추가
접힌 스타일로 첫 줄이 아닌 줄의 시작 부분에 여분의 공백을 삽입하면 보너스 줄 바꿈과 함께 공백이 유지됩니다. 흐름 스타일에서는 발생하지 않습니다.
- >
my long
string
- my long
string
→ ["my long\n string\n", "my long string"]
난 못해
*
2 개의 블록 스타일, 각각 2 개의 가능한 블록 표시기 표시기 (또는 없음)와 9 개의 가능한 들여 쓰기 표시기 (또는 없음), 1 개의 일반 스타일 및 2 개의 따옴표 스타일 : 2 x (2 + 1) x (9 + 1) + 1 + 2 = 63
이 정보 중 일부는 여기 에 요약되어 있습니다 .