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创建,作为配置文件的简单语言。它与YAML和JSON竞争;TOML的语法旨在兼具两者的优点,重点是易于人类读写。
在Elm中,处理TOML通常需要通过JavaScript互操作,这可能有点麻烦。幸运的是,Elm社区资源丰富,存在几个第三方包。假想的elm-toml
包可能会使用Elm的Port
与JavaScript的TOML解析器对话,或直接在Elm中实现解析。
Elm的主要障碍是它静态类型化一切,所以你需要编写自定义解码器来处理TOML中的不同数据结构,这可能有点冗长但增加了安全性。
另见
有关TOML本身的规范和更多信息,请查看TOML。 如果你正在寻找Elm和JavaScript互操作的实践方法,请从官方指南开始:Elm Ports。 浏览Elm Packages了解社区包或贡献。