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