答案 0 :(得分:10)
如果你有行
herlist = [1, "foo", true]
在名为“example.cfg”的配置文件中,然后加载并显示该值的最简单程序将
{-# LANGUAGE OverloadedStrings #-}
import Data.Configurator
import Data.Configurator.Types (Value)
main = do
cfg <- load [Required "example.cfg"]
lst <- require cfg "herlist" :: IO Value
print lst
使用OverloadedStrings
扩展名,以便我们可以使用普通的字符串文字作为配置键,而无需将它们显式转换为Text
。
当查找键"herlist"
时,我们需要明确告诉编译器我们期望的类型,因为在这样的简单程序中我们除了打印值之外什么都不做,编译器无法从上下文中推断它。
类型Value
是配置值的原始类型。在实际程序中,我们通常会将Value
转换为我们程序使用的自定义类型,方法是定义Configured
类型类的实例。