*.yaml 혹은 *.yml 확장자를 가진 파일을 기술하는 문법이다.<>를 사용해 계층 구조 도입{}나 []) 사용---은 문서의 시작을, ...은 문서의 끝을 나타내며, 둘 모두 optional하다.
|를 사용하고, >은 블록 내의 줄바꿈(new line)을 무시한다. 그들 기호 뒤에 -를 붙이면 마지막 줄바꿈을 제외하고 인식한다.
# Tell me\n\nif you\n\nwanna go home\n
lines: |
Tell me
if you
wanna go home
# 여기 빈칸 한 줄
# Tell me\n\nif you\n\nwanna go home
lines: |-
Tell me
if you
wanna go home
# 여기 빈칸 한 줄
# Tell me\nif you\nwanna go home\n
lines: >
Tell me
if you
wanna go home
# 여기 빈칸 한 줄
key: value 형식을 통해 정의한다. (ex. name: EunGi)
: 뒤에는 띄어쓰기{}으로도 정의 가능하다.
student: {
name: Park
subject: [
math, korean
]
}
:가 들어갈 때는 따옴표로 감싸야 한다."my\nbag"은 줄바꿈이 유효하나, 'my\nback'은 그대로 my\nback이 된다.\n)은 C언어 스타일을 따른다.true 혹은 yes, 거짓은 false 혹은 no (ex. is_done: True, is_done: no) # 방법1
food: [
Chicken, Pizza, Pasta
]
# 방법2: '-'로 인자 표기
food:
- Chicken
- Pizza
- Pasta
# 방법1
key:
key: value
key: value
# 방법2
key: {
key: value,
key: value
}
# 예1
list_obj:
- name: Han
number: 6
- name: Kim
number: 3
# 예2
obj:
name: Lee
number: 9
# 와 작성한다.&를 붙여 표시하고, 참조는 *를 붙인다. 아래 예시에서 보면 *first을 이용해 &first가 붙은 first-anchor를 가져올 수 있다.
students:
first-anchor: &first
name: Choi
number: 5
second-anchor: &second
name: Jung
number: 1
first-student: *fisrt
second-student: *second