.tomlファイルとは?
.tomlファイルとは?
TOMLファイルは、Tom's Obvious, Minimal Languageの略で、設定ファイルのフォーマットとして設計されています。
このフォーマットは、読みやすさと明確な構文を重視しており、特にプログラミング言語のデータ構造に簡単にマッピングできることを目的としています。
TOMLファイルのマインドマップ
TOMLの基本構造
TOMLファイルは主に以下の要素で構成されています:
-
キーと値のペア: 各ペアは
key = value
の形式で記述されます。 -
テーブル: テーブルは、関連するキーと値のペアをグループ化するための構造で、
[table_name]
の形式で定義されます。 -
配列: 配列は、複数の値を格納するために使用され、
[1, 2, 3]
のように記述されます。 -
コメント: コメントは
#
で始まり、その行の残りの部分は無視されます。
データ型
TOMLは以下のデータ型をサポートしています:
- 文字列: ダブルクォートまたはシングルクォートで囲まれたテキスト。
- 整数: 整数値。
- 浮動小数点数: 小数点を含む数値。
-
ブール値:
true
またはfalse
。 - 日付時刻: ISO 8601形式の日付。
- 配列: 同じ型の値のリスト。
- テーブル: キーと値のペアの集合。
使用例
以下は、TOMLファイルの簡単な例です:
# サンプルTOMLファイル
title = "サンプルプロジェクト"
[database]
server = "192.168.1.1"
ports = [8000, 8001, 8002]
connection_max = 5000
enabled = true
[servers]
[servers.alpha]
ip = "10.0.0.1"
dc = "eqdc10"
[servers.beta]
ip = "10.0.0.2"
dc = "eqdc10"
この例では、プロジェクトのタイトルやデータベースの設定、サーバーの情報が含まれています。
TOMLの利点
- 可読性: TOMLは人間にとって読みやすく、理解しやすい構文を持っています。
- シンプルさ: JSONやYAMLと比較して、冗長性が少なく、簡潔に記述できます。
- 広範なサポート: 多くのプログラミング言語でサポートされており、特にRustやGoのプロジェクトでよく使用されています[1][2][4][5]。
TOMLは、設定ファイルを作成する際の選択肢として非常に人気があり、特に開発者にとって使いやすいフォーマットです。
[1] https://en.wikipedia.org/wiki/TOML
[2] https://learnxinyminutes.com/docs/toml/
[3] https://blog.flotes.app/posts/toml
[4] https://docs.fileformat.com/programming/toml/
[5] https://www.anbowell.com/blog/the-developers-guide-to-toml
[6] https://github.com/toml-lang/toml/blob/main/toml.md
[7] https://realpython.com/python-toml/
[8] https://ja.wikipedia.org/wiki/TOML
[9] https://toml.io/ja/v0.5.0
[10] https://github.com/toml-lang/toml.io/blob/main/specs/ja/v1.0.0-rc.2.md
[11] https://blog.miz-ar.info/2024/01/toml-and-config-file-format/
[12] https://docs.fileformat.com/ja/programming/toml/
[13] https://packaging.python.org/en/latest/guides/writing-pyproject-toml/
[14] https://tech.pla-cole.co/tomlを使ってみよう/
[15] https://zenn.dev/mirko_san/articles/293f32950ba6c2
[16] https://qiita.com/kazsharp/items/eab5675da41cd1eb7159
[17] https://packaging.python.org/ja/latest/guides/writing-pyproject-toml/
[18] https://chienomi.org/articles/programming/202208-toml.html
[19] https://toml.io/en/
[20] https://www.youtube.com/watch?v=D_Jb52jw2HY