YAML에서 >와 |는 멀티라인 문자열을 표현하는 두 가지 다른 방식
OpenAPI 문서를 yaml로 작성하다가 궁금해서 질문 드립니다.

1 답변

0 투표

YAML에서 >|는 멀티라인 문자열을 표현하는 두 가지 다른 방식입니다. 이들은 문자열 내의 줄바꿈을 다루는 방식에 차이가 있습니다.

  1. | (Literal Block Scalar):

    • |는 문자열을 "그대로(literal)" 표시합니다. 즉, 소스 코드에 작성된 줄바꿈과 공백이 그대로 유지됩니다.
    • 이 방식은 보통 설정 파일이나 코드 조각, 고정된 형식의 텍스트 등을 정확하게 표현할 때 사용됩니다.
  2. > (Folded Block Scalar):

    • >는 문자열에서 줄바꿈을 공백으로 "접어(fold)" 처리합니다. 여러 줄의 문자열이 하나의 긴 줄로 합쳐지면서 각 줄의 끝에 있는 줄바꿈은 공백으로 변환됩니다.
    • 그러나 YAML에서 들여쓰기가 더 깊은 새로운 라인은 새로운 문단으로 간주되어 줄바꿈을 유지합니다.
    • 이 방식은 보통 긴 설명 문구나 문서에서 읽기 좋게 포맷팅된 텍스트를 작성할 때 유용합니다.

예시로 보면 이해가 더 쉬울 것입니다.

# Literal Block Scalar 사용 예
literal: |
  첫 번째 라인입니다.
  두 번째 라인입니다.

  네 번째 라인입니다.

# Folded Block Scalar 사용 예
folded: >
  첫 번째 라인입니다.
  두 번째 라인입니다.

  네 번째 라인입니다.

결과:

  • literal의 경우, 모든 줄바꿈과 공백이 그대로 유지됩니다. 즉, "첫 번째 라인입니다.\n두 번째 라인입니다.\n\n네 번째 라인입니다." 로 표현됩니다.
  • folded의 경우, 첫 번째와 두 번째 라인은 하나의 문장으로 합쳐져 "첫 번째 라인입니다. 두 번째 라인입니다."로 표현되고, 네 번째 라인은 새로운 문단으로 처리되어 "네 번째 라인입니다."가 됩니다.

이러한 특성을 고려하여 YAML 파일에서 어떤 스타일의 멀티라인 문자열을 사용할지 결정할 수 있습니다.

구로역 맛집 시흥동 맛집
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
add
...