Elixir:
TOMLを扱う方法

どうやって:

まず、mix依存関係にTOMLパーサを追加します。この例では toml-elixir を使用します:

def deps do
  [
    {:toml_elixir, "~> 2.0"}
  ]
end

TOMLファイルを読み込む:

{:ok, toml_data} = File.read("config.toml")
{:ok, parsed_data} = TomlElixir.parse(toml_data)

ElixirのデータをTOMLに変換する:

data = %{title: "TOML Example", owner: %{name: "Tom Preston-Werner"}}
toml_string = TomlElixir.encode(data)

サンプル出力:

"title = \"TOML Example\"\n\n[owner]\nname = \"Tom Preston-Werner\"\n"

詳細

TOMLは、設定ファイルでの使用を目的として、GitHubの共同設立者であるTom Preston-Wernerによって作成されました。これは、XMLよりも直接的で、YAMLよりも簡潔であることを目指して設計されており、一貫性を維持しています。

代替手段には、人間の可読性とデータ構造の互換性において、それぞれトレードオフがあるJSON、YAML、INIファイルが含まれます。TOMLは、表形式のデータとデータの入れ子のグループ化を明確に表現することに優れています。

Elixirでは、TOMLの扱いは、TOML文字列をElixirのマップへと変換する(またその逆を行う)デコードおよびエンコードライブラリに依存しています。解析は、TOMLの構文ルールに一致させ、それをElixirのデータ型に変換することによって機能します。エンコーディングはその逆で、Elixirのデータ型を有効なTOML構文にマッピングします。

参照