Toml
TOMLハンドブック
編集TOMLとは
編集TOMLは「Tom's Obvious, Minimal Language」の略で、設定ファイルのために設計されたシンプルなマークアップ言語です。人間が読み書きしやすく、プログラムでもパースが容易な形式を目指しています。
基本構文
編集キーと値の基本
編集- キーと値はイコール(=)で区切ります
title = "TOML Example"
データ型
編集文字列
編集- 基本文字列:ダブルクォートで囲みます
str = "Hello, World"
- 複数行文字列:三重のダブルクォートで囲みます
multiline = """ 一行目 二行目 三行目"""
数値
編集- 整数
int1 = 42 int2 = +17 int3 = -17 int4 = 1_000_000 # アンダースコアで桁区切り可能
- 浮動小数点数
float1 = 3.14 float2 = -0.01 float3 = 6.626e-34
真偽値
編集bool1 = true bool2 = false
日付と時刻
編集- RFC 3339形式をサポート
date1 = 1979-05-27 time1 = 07:32:00Z datetime1 = 1979-05-27T07:32:00Z
配列
編集- 角括弧で要素を囲みます
array1 = [ 1, 2, 3 ] array2 = [ "red", "yellow", "green" ] numbers = [ 1, 2, 3 ]
テーブル(オブジェクト)
編集- 角括弧でテーブル名を囲みます
[database] server = "192.168.1.1" ports = [ 8001, 8001, 8002 ] [servers] [servers.alpha] ip = "10.0.0.1" role = "frontend" [servers.beta] ip = "10.0.0.2" role = "backend"
ベストプラクティス
編集命名規則
編集- キー名は小文字のスネークケースを推奨
- テーブル名は意味のある階層構造を反映
ファイル構成
編集- 設定は論理的なグループごとにテーブルで分類
- 関連する設定は同じテーブル内でまとめる
- コメントで各セクションの説明を付ける
コメント
編集- シャープ記号(#)でコメントを記述
- 重要な設定項目には説明コメントを付ける
# データベース接続設定 [database] host = "localhost" # データベースのホスト名 port = 5432 # PostgreSQLのデフォルトポート
よくある間違い
編集- キーの重複定義
- テーブル名の重複
- 文字列のクォート忘れ
- 配列の要素の型の混在
実装例
編集アプリケーション設定
編集# アプリケーション基本設定 [app] name = "MyApp" version = "1.0.0" debug = false # データベース設定 [database] host = "localhost" port = 5432 name = "myapp_db" user = "admin" # ログ設定 [logging] level = "info" path = "/var/log/myapp" max_size = 100 # MB backup_count = 5