【发布时间】:2017-12-28 00:10:13
【问题描述】:
我正在尝试在 Haskell 中读取一个简单的 .ini 文件,以用作我的应用程序的配置。我不是 Haskell 的专家,所以我可能会遗漏一些简单的东西。
到目前为止,我的简化代码如下所示
{-# LANGUAGE OverloadedStrings #-}
import Data.Ini
main :: IO ()
main = do
config <- readIniFile "config.ini"
p <- lookupValue "NETWORK" "port" config
...
编译器给了我这个错误
在lookupValue 的第三个参数即“config”中,无法将预期类型“Ini”与实际类型“Either String Ini”匹配。
我查看了 docs 的 Data.Ini,但找不到任何有关如何使用 Api 的示例。
任何帮助将不胜感激。
【问题讨论】:
-
听起来像配置返回一个 Either String Ini 而不仅仅是一个 Ini。只需在配置上进行模式匹配,
case config of Left err -> putStrLn err; Right c -> do lookupValue ...