Elm:
TOMLを扱う方法
方法:
Elmには組み込みのTOMLパーサーはありませんが、JavaScriptとの相互運用を行うか、コミュニティパッケージを使用できます。これは、仮定のelm-toml
パッケージを使用してTOMLを解析する方法です:
import Toml
configToml : String
configToml =
"""
[server]
port = 8080
"""
parseResult : Result Toml.Decode.Error Toml.Value
parseResult =
Toml.decodeString configToml
特定の値をデコードする場合:
portDecoder : Toml.Decode.Decoder Int
portDecoder =
Toml.Decode.field "server" (Toml.Decode.field "port" Toml.Decode.int)
port : Result String Int
port =
Toml.decodeString portDecoder configToml
port
のサンプル出力は、デコードが成功した場合Ok 8080
かもしれません。
深く掘り下げ
TOMLは、GitHubの共同創設者であるTom Preston-Wernerによって、設定ファイル用のシンプルな言語として作られました。TOMLはYAMLやJSONと競合し、両方の世界のベストを目指した構文を持ち、人間が読み書きしやすいことに焦点を当てています。
ElmでTOMLを扱うには、通常、JavaScriptとの相互運用を通じて行う必要があり、これは少し面倒かもしれません。幸いなことに、Elmコミュニティは資源豊富であり、いくつかのサードパーティパッケージが存在します。仮定のelm-toml
パッケージは、ElmのPort
を使用してJavaScriptのTOMLパーサーと話をするか、直接Elmで解析を実装するでしょう。
Elmの主な障害は、すべてを静的に型付けすることであり、TOML内の異なるデータ構造を扱うためにカスタムデコーダを書く必要があるため、少し冗長になる可能性がありますが、安全性を追加します。
関連情報
TOML自体の仕様と詳細については、TOMLをご覧ください。 ElmとJavaScriptの相互運用に取り組む場合は、公式ガイドから始めてください:Elm Ports。 コミュニティパッケージを探すか、貢献するには、Elm Packagesを参照してください。