TOML
TOML(Tom's Obvious, Minimal Language)は設定向けのフォーマットで、テーブルとキーと値のペアでデータを表現する。明示的な意味を持ち、暗黙の型推論はない。
目的
YAML より明示的で JSON より設定に適したフォーマットを提供し、YAML の型推論の落とし穴を避ける。
メカニズム
テーブルは [section] で宣言し、キーと値のペアは key = value である。文字列、整数、浮動小数点、真偽値、日付、配列、インラインテーブルをサポートする。参照や複数ドキュメントストリームはなく、型は明示的である。Rust の Cargo.toml と Python の pyproject.toml が主な利用者である。
ユースケース
- Rust の Cargo.toml
- Python の pyproject.toml の記述
- 静的サイトジェネレータの設定
- ツールチェーンの設定
例
- 入力
[owner] name = "Ada"OutputThe table {owner:{name:"Ada"}}Explicit types
よくあるエラー
- Expecting TOML but writing YAML-style indentation
- TOML uses table headers, not indentation