如何将参数从配置文件放置到单个模块?

时间:2018-12-25 06:19:38

标签: haskell

我有一个程序必须在程序启动时从配置文件中读取参数。用另一种语言,我创建一个模块或类,称为Params,在程序启动时,我使用Params.set设置从中读取参数配置文件,在任何地方,当我需要使用params时,我都使用Params.get来读取params的值

但是在haskell中,因为没有可变性,所以看来我必须从main函数读取params,然后将所有参数都放入一条记录中,例如,命名为Params,然后将记录params用作函数的param并将其传递给使用params形式的配置文件的每个函数。我认为这很麻烦。我不知道如何将param值放置到单独的模块或文件中

有什么方法可以解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:0)

在Haskell中传递全局状态的最常见方法是使用Reader类型。然后,您可以在需要时使用ask访问Params

这与显式传递Params类似,这也是一个不错的选择。