YAML에서 >
와 |
는 멀티라인 문자열을 표현하는 두 가지 다른 방식입니다. 이들은 문자열 내의 줄바꿈을 다루는 방식에 차이가 있습니다.
-
|
(Literal Block Scalar):
|
는 문자열을 "그대로(literal)" 표시합니다. 즉, 소스 코드에 작성된 줄바꿈과 공백이 그대로 유지됩니다.
- 이 방식은 보통 설정 파일이나 코드 조각, 고정된 형식의 텍스트 등을 정확하게 표현할 때 사용됩니다.
-
>
(Folded Block Scalar):
>
는 문자열에서 줄바꿈을 공백으로 "접어(fold)" 처리합니다. 여러 줄의 문자열이 하나의 긴 줄로 합쳐지면서 각 줄의 끝에 있는 줄바꿈은 공백으로 변환됩니다.
- 그러나 YAML에서 들여쓰기가 더 깊은 새로운 라인은 새로운 문단으로 간주되어 줄바꿈을 유지합니다.
- 이 방식은 보통 긴 설명 문구나 문서에서 읽기 좋게 포맷팅된 텍스트를 작성할 때 유용합니다.
예시로 보면 이해가 더 쉬울 것입니다.
# Literal Block Scalar 사용 예
literal: |
첫 번째 라인입니다.
두 번째 라인입니다.
네 번째 라인입니다.
# Folded Block Scalar 사용 예
folded: >
첫 번째 라인입니다.
두 번째 라인입니다.
네 번째 라인입니다.
결과:
literal
의 경우, 모든 줄바꿈과 공백이 그대로 유지됩니다. 즉, "첫 번째 라인입니다.\n두 번째 라인입니다.\n\n네 번째 라인입니다." 로 표현됩니다.
folded
의 경우, 첫 번째와 두 번째 라인은 하나의 문장으로 합쳐져 "첫 번째 라인입니다. 두 번째 라인입니다."로 표현되고, 네 번째 라인은 새로운 문단으로 처리되어 "네 번째 라인입니다."가 됩니다.
이러한 특성을 고려하여 YAML 파일에서 어떤 스타일의 멀티라인 문자열을 사용할지 결정할 수 있습니다.