tomlを使ってみよう

目次

みなさんお元気ですか。
私は元気です。

今携わっているプロジェクト
個人的に、yamlなどを扱うことは結構あるのですが、
tomlについてはほぼ分からなかったので色々調べてみました。

tomlとは

tomlとは、

Tom's Obvious, Minimal Language.
('トムの明瞭で最小の言語')

TOML

トムさんが作ったとてもわかりやすい言語、ということですね。

yamlやjsonなどを使う利点としては、シンプルで簡潔に記述できる点が大きいかと思います。
yamlはインデントなどの表現がありますが、tomlはどうでしょうか?

tomlの言語仕様

違いがわかりやすいkey valueペアの形でyamlと比較します。

このような出力を希望する場合、

yaml:

toml:

これはtomlのテーブルを用いた書き方です。
また、配列に関しても、
yamlはインデントを揃えることによって表現しますが、
tomlの場合、多くの言語と同じように、

のように表現できるので可読性が高いですね!

今回私は個人的に、1つの配列に、複数の同じキーで構成されたオブジェクトを作りたかったので、
tomlのテーブルの配列を使うことにしました。

例えばこのようなものです。

tomlのテーブルは

出力:

のように表記し、
テーブルの配列はこのように表記します。

出力:

テーブル配列を使うことで、同テーブル名ないの配列要素にできます。

出力:

また、tomlテーブル、テーブルの配列ではこのような記述で入れ子にすることもできます。

出力:

tomlでは '.' で繋ぐことで、そのテーブルの要素であることを示します。のでとてもイメージがつきやすいのではないでしょうか?

最後に

調べてみると、tomlは色々なプロジェクトで使われており、
例えば、静的サイトジェネレーターであるHugoでも、
設定ファイルの形式にtomlを採用しています。

パーサーも多く作られているので、色々な言語で試してみたいと思います!