Open2

.tomlファイルとは?

まさぴょんまさぴょん

.tomlファイルとは?

TOMLファイルは、Tom's Obvious, Minimal Languageの略で、設定ファイルのフォーマットとして設計されています。
このフォーマットは、読みやすさと明確な構文を重視しており、特にプログラミング言語のデータ構造に簡単にマッピングできることを目的としています。

https://toml.io/en/

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