tomlファイルとはなんぞや
TOMLの概要
TOMLは「最小限の設定ファイル」「読みやすい構文」であることを目指して作られたファイルフォーマットです。
2013年頃から開発が始まり、現在(2021年6月25日時点)では v1.0.0
まで公開されています。
サンプル
以下がTOMLのサンプルです。
title = "Hello world"
[params]
author = "Panorama"
bio = "A hedgehog learning Web Application"
# twitter = "https://twitter.com/PANORAMA_01"
文法
TOMLの文法は非常に単純で主に Key/Value Pair
・Comment
・Table
と、Value
に使用できるいくつかの型だけでできています。
Key/Value Pair
Key/Value Pair
は一般的なプログラミングの代入のような記法です。
key = "value"
行中のスペースは無視されます。
また Key/Value
の宣言は基本的に1行で行う必要があります。
Value
は以下の型がサポートされています。
括弧()
に例を示しています。
- String (
"string"
) - Integer (
1
) - Float (
3.14
) - Boolean (
true
) - Offset Date-Time (
2021-06-25T22:38:34+09:00
) - Local Date-Time (
2021-06-25T22:38:34
) - Local Date (
2021-06-25
) - Local Time (
22:38:34
) - Array (
[1, 2, 3]
) - Inline Table (
[table]
)
Key
は bare
, quoted
, dotted
の3種類の記法があります。
# bare
key = "value"
# quoted
"key" = "value"
# dotted
blog.url = "https://~"
注意点: 同じkeyを2回以上宣言することはできません。最後の宣言で上書きなどはできません。
Comment
コメントは以下のように #
を使用するだけです。
行末までコメントになります。
# This is a comment.
key = "value" # This is a comment at the end of a line
Table
Table
はいわゆるハッシュや辞書のようなものです。
Key/Value Pair
のコレクションとして定義します。
用途としてはファイル内の役割を区切ったり、名前空間を分けるために使用します。
[table1]
key1 = "string1"
key2 = 123
[table2]
key1 = "string2"
key2 = 456
以上がTOMLの記述方法です。
さらに詳細なルールや記法がありますが、基本的には上記の知識だけで完結しておりまさにminimal
です。
個人的には他の設定ファイルのフォーマット(yaml
, json
)に比べて読みやすいと感じました。
もちろん階層が深くなる場合はyaml
、Webの通信で使う・JavaScriptで扱う場合はjson
、簡潔で列挙していくような設定の場合にtoml
などのようにして使い分けるのが良さそうです。