TOML

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
TOML
拡張子 .toml
MIMEタイプ '未登録
開発者 Tom Preston-Werner
初版 2013年2月23日(6年前) (2013-02-23
最新版
v0.5.0
(2018年7月10日(8か月前) (2018-07-10)
種別 データ交換
オープン
フォーマット
はい
ウェブサイト github.com/toml-lang/toml

TOMLは、設定ファイルのフォーマットの1種である。「ミニマル」であることを目指した明確な構文を採用することで、読みやすいフォーマットとなるように作られた。TOMLの設定項目は、ディクショナリ構造に明確にマッピングされるように設計されている。

"TOML"という名称は、"Tom's Obvious, Minimal Language"のアクロニムである[1]。Tomとは、作者のTom Preston-Werner英語版を指す。

バージョン1.0に達するまでは不安定な仕様であると著者によってフラグが立てられているにもかかわらず、TOMLは多数のソフトウェアプロジェクトで採用されており[2]、多数のプログラミング言語で実装されている[3][4]

TOMLは.INIファイルの構文を踏襲しているが、より形式的な仕様が定義されている[5]

構文[編集]

TOMLの構文は、大部分がkey = "value"のペア、[section names]# コメントの3種類からなる。

サポート対象のデータ型が規定されている。サポートする型は、String、Integer、Float、Boolean、Datetime、Array、Tableである。

[編集]

# これは TOML のドキュメントです。

title = "TOML の例"

[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00-08:00 # date 型

[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
connection_max = 5000
enabled = true

[servers]

  # インデント (タブ and/or スペース) が使用できるが、必須ではない。
  [servers.alpha]
  ip = "10.0.0.1"
  dc = "eqdc10"

  [servers.beta]
  ip = "10.0.0.2"
  dc = "eqdc10"

[clients]
data = [ ["gamma", "delta"], [1, 2] ]

# Array の中では改行が使用できる。
hosts = [
  "alpha",
  "omega"
]

参考文献[編集]

  1. ^ Tom's Obvious, Minimal Language. Contribute to toml-lang/toml development by creating an account on GitHub, toml-lang, (2019-01-27), https://github.com/toml-lang/toml 2019年1月28日閲覧。 
  2. ^ projects using toml”. 2018年9月30日閲覧。
  3. ^ toml implementations”. 2018年9月30日閲覧。
  4. ^ cargo config”. 2018年9月30日閲覧。
  5. ^ TOML, Tom's Own Markup Language”. Y Combinator Link. Y Combinator Link. Y Combinator. 2017年5月10日閲覧。