Loading article…
| ファイル名拡張子 |
.toml |
|---|---|
| インターネットメディアの種類 |
アプリケーション/toml |
| 開発者 |
|
| 初回リリース | 2013年2月23日 |
| 最新リリース | 1.0.0 [1] 2021年1月12日 |
| フォーマットの種類 | データ交換 |
| オープンフォーマット? | はい |
| Webサイト | トゥーム |
TOML ( Tom's Obvious, Minimal Language、元々はTom's Own Markup Language [2] )は、設定ファイル用のファイル形式です。[3]これは、「最小限」を目指す明白なセマンティクスにより読み書きが容易になるように設計されており、辞書に明確にマッピングされるように設計されています。 元々はTom Preston-Wernerによって作成され、その仕様はオープンソースです。 TOMLは多くのソフトウェアプロジェクトで使用されており[4] [5] [6]、多くのプログラミング言語で実装されています。[7]
構文
TOML の構文は、主に、、および(コメント用)のkey = valueペアで構成されます。TOML の構文は、 .INI ファイルの構文に多少似ていますが、正式な仕様が含まれています。一方、INI ファイル形式には、競合するさまざまなバリエーションがあります。
[section names]#
仕様には、サポートされているデータ型のリスト(文字列、整数、浮動小数点数、ブール値、日時、配列、テーブル)が含まれています。
例
# これは TOML ドキュメントです。
title = "ImpalaPay Co."
[データベース]
サーバー= "192.168.1.1"
ポート= [ 8000 、8001 、8002 ]
接続最大数= 5000
有効= true
# 配列内では改行は問題ありません
ホスト= [
「アルファ」、
"オメガ"
]
[サーバー]
# インデント(タブやスペース)は許可されていますが、必須ではありません
[サーバー.アルファ]
IPアドレス= "10.0.0.1"
dc = "eqdc10"
[サーバー.ベータ]
IPアドレス= "10.0.0.2"
dc = "eqdc10"
ユースケース
TOML は、次のようなさまざまな設定で使用されます (一部は作成者に関連しています)。
- JekyllやHugoのような静的サイト ジェネレーター。
- Pythonプログラミング言語[8]
- Rustパッケージマニフェスト[4]
- Juliaプロジェクト設定とパッケージマニフェスト[9]
- Blenderアドオン マニフェスト。
批判
TOMLはいくつかの点で批判されている: [10] [11]
- TOML は冗長です。DRY ではなく、構文的にノイズが多いです。
- TOML の階層は、構文だけから推測するのは難しい場合があります。
- 過度に複雑: TOML には機能が多すぎます。
- TOML では、構文によってデータ型が決まります (「構文型付け」)。
参照
注記
参考文献
- ^ “リリース 1.0.0”. 2021年1月12日. 2021年1月17日閲覧。
- ^ Preston-Werner, Tom (2013-02-24). 「最初のコミット · toml-lang/toml@84db252」. GitHub . 2024-06-15 にオリジナルからアーカイブ。 2024-06-15に取得。
- ^ Preston-Werner, Tom ; Gedam, Pradyun (2021年1月11日). “TOML: English v1.0.0”. 2024年1月29日時点のオリジナルよりアーカイブ。2024年1月27日閲覧。
- ^ ab 「マニフェストフォーマット - カーゴブック」。doc.rust-lang.org。2019年8月26日時点のオリジナルよりアーカイブ。2023年7月8日閲覧。
- ^ DeVault, Drew (2021-07-28). 「次期 YAML への私の希望リスト」。2024-03-09 にオリジナルからアーカイブ。2021-07-28に取得。YAML
は広く使用されていると同時に、広く嫌われています。多くの問題を抱えていますが、特定のタスクを解決するのに非常に便利なため、置き換えるのが困難です。一部の新参者 (TOML など) は市場シェアの一部を獲得することに成功していますが、それらの代替手段が弱点を露呈している場所では、YAML は依然として有効です。
- ^ 「TOML: Tom's Obvious Minimal Language」. toml.io . 2022年8月8日時点のオリジナルよりアーカイブ。2022年8月8日閲覧。
- ^ “toml-lang/toml”. GitHub . 2022年5月23日. 2017年2月15日時点のオリジナルよりアーカイブ。 2016年12月16日閲覧。
- ^ "tomllib — TOML ファイルを解析する". Python ドキュメント. 2024 年 6 月 11 日時点のオリジナルよりアーカイブ。2023 年 7 月 8 日閲覧。
- ^ “10. Project.toml と Manifest.toml · Pkg.jl”. pkgdocs.julialang.org . 2023-07-08 にオリジナルからアーカイブ。2023-07-08に取得。
- ^ TOML の何が問題なのですか?
- ^ TOMLに対するINIの批判
外部リンク
- 公式サイト
