구조화된 config 작성하는 세 방법
표준 table — [section]
[name] 으로 시작하는 줄이 새 table 열어. 그 후의 모든 key (다음 table 헤더까지) 가 그 table 에 속함. 이름이 key 문법 따름 (bare 또는 quoted, 중첩엔 dotted).
중첩 table — [section.subsection]
table 헤더의 점이 중첩 만듦. [server.database] 가 server table 안의 database table.
Inline table — { key = value, ... }
중괄호 table 이 한 줄에 맞음. 작은 inline 객체 (단일 점, 단일 config 값) 에 사용, full [section] 이 무겁게 느껴질 때. Inline table 은 self-contained — 한 번 작성하면 나중 [section] 헤더로 추가 못 함.
YAML 보다 순서 덜 중요
[a] 전에 [a.b] 작성, 또는 [a] 완전 생략 (암묵적으로 존재) 가능. 파서가 알아냄. 비용은 소스 순서로 파일 다시 읽기가 항상 파싱 구조와 일치하지 않음 — 유연성 위한 작은 비용.
'table 재정의 못 함': table 이
[server] 로 한 번 열리면 나중 [server] 다시 못 씀. table 의 모든 key 를 한 헤더 아래 둬. (Sub-table 과 array of table 은 다름 — 다음 lesson 다룸.)