[[name]] 이중 대괄호 형태
Array of table 은 config 파일에서 제일 흔한 고통 하나를 풀어줘. '필드 여러 개짜리 구조체를 죽 늘어놓고, 하나씩 따로 읽거나 고치고 싶다' 는 상황 말이야. 문법은 대괄호 두 개, [[products]] 야. 파일에 [[products]] block 이 나올 때마다 products 배열에 요소가 하나씩 붙어.
언제 잡나
- 필드가 여럿인 항목을 배열로 두고 싶을 때.
- 항목마다 따로 주석을 달고, 따로 고치고, grep 으로 찾고 싶을 때.
- inline table 배열이 너무 길어져서 눈에 안 들어올 때.
[[]] vs [] 구분
[server] 는 server 라는 table 하나를 열어. [[plugins]] 는 plugins 배열에 요소를 하나 밀어 넣고. [[plugins]] 하나하나가 그 안에서 완결된 block 이고, 소스에 적힌 순서가 곧 배열 순서야.
원칙: 헷갈리면 이렇게 생각해. 'N 개 중 하나' 로 읽히는 구조라면 이름으로 키를 매긴 table 의 table 이 아니라 array of table 이어야 해. 배열은 순서를 지켜주고, 리뷰어가 항목마다 코멘트를 달 수 있고, 새 항목을 붙여도 diff 가 깨끗해. YAML 로도 같은 걸 표현할 순 있지만 diff 가 이만큼 믿음직하지 않아.