*.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