세 key 스타일, 값엔 한 규칙
Bare key
기본. letters_and_underscores_only_123. 허용: A-Z a-z 0-9 _ -. 스페이스 없음, 점 없음, 특수 문자 없음.
Quoted key
특수 문자나 스페이스엔 큰따옴표 또는 작은따옴표로 감싸. "key with spaces" = "value". basic string 과 같은 escape 규칙.
Dotted key
key 경로의 점이 중첩 만듦: server.host = "localhost" 가 [server] + host = "localhost" 의 단축형. dotted 경로의 각 segment 가 bare/quoted 규칙 따름: servers."my-host".port = 8000 작동.
이름 당 key 하나
TOML 이 같은 단계의 중복 key 거부 — name = "a"\nname = "b" 가 파스 에러. (JSON 과 비교: undefined behavior. YAML: 보통 'last wins'.) 일부러; 모호함 없는 config 가 TOML 의 셀링 포인트.
'dotted key vs table' 미묘함:
a.b = 1 과 [a]b = 1 가 같은 파싱 값 만들지만 나중 [a] block 과 다르게 상호작용. modern TOML 이 혼합 허용하지만, a.b = 1 쓴 후 [a] 다시 정의하면 'cannot redefine table' 에러. 논리 섹션당 한 스타일 골라.