我很确定,后面的GHC增加了在Handle
上明确设置字符编码的能力。但是,当我查看System.IO
时,我没有看到与字符编码有关的任何内容。 (我有Haskell平台2012.4.0.0)hSetEncoding去哪了?
我瞎了还是干脆错了?
我很确定,后面的GHC增加了在Handle
上明确设置字符编码的能力。但是,当我查看System.IO
时,我没有看到与字符编码有关的任何内容。 (我有Haskell平台2012.4.0.0)hSetEncoding去哪了?
我瞎了还是干脆错了?
我调查了其中的功能被隐藏。
摘要:请务必使用来自软件包基础的System.IO
,而不是从haskell2010软件包中使用。
详情: Hoogle告诉我,有最新基地包System.IO.hSetEncoding
。
检查有关Haskell的平台2012.4.0.0的文档,我看到从haskell2010
包System.IO
模块。并且该模块似乎不包含hSetEncoding
。
但是不要绝望,似乎也可以从其中包含hSetEncoding
基地System.IO
。
所以我猜你只需要确保你使用来自基地System.IO
,而不是从haskell2010。
天啊!
好的,我只是想通了。
System.IO
- 在base
包和haskell2010
包。base
的模块具有所有字符编码内容。haskell2010
中包含的System.IO
的版本 - 没有全部字符编码内容。这似乎看到base
版本的唯一方法是单击从base
出口一些其他的模块上,然后单击“目录”,然后从那里导航到System.IO
。 然后它显示你正确的模块!
反直觉,很多? O_O
好了,我发现我现在的功能,而人,黑线鳕也许应该做处理这种模糊的边缘情况下更好的工作......
嗯,_my_本地安装的模块索引列出了“基本”版本。如果平台的索引列出了'haskellXY'版本,我想你应该告诉平台维护人员这是一个次优选择。 –