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構文にマッピングします。
参照
- TOML Language: https://toml.io/en/
toml-elixir
GitHubリポジトリ: https://github.com/bitwalker/toml-elixirtoml-elixir
のHexパッケージ詳細: https://hex.pm/packages/toml_elixir