【发布时间】:2018-10-05 20:15:53
【问题描述】:
addRequestHeader (H.hContentType, "application/json")
这是一个使用 Network.HTTP.Simple 包的例子,我见过几次。如何将字符串传递给该函数,因为它的签名是:
addRequestHeader :: Network.HTTP.Types.Header.HeaderName
-> Data.ByteString.Internal.ByteString -> Request -> Request
当我尝试这个时,我得到错误 couldn't match expected type 'C8.ByteString' with actual type '[Char]',所以我必须使用 Data.ByteString .Char8.pack 函数来完成这项工作。为什么其他人不必这样做?是否有自动转换或这里发生了什么?
【问题讨论】:
-
Haskell 通常没有自动转换。所有转换都是显式地完成的。
-
@carcigenicate 没有,只有这个带有 ByteString hackage.haskell.org/package/http-conduit-2.3.2/docs/…
-
您也许可以使用
{-# LANGUAGE OverloadedStrings #-}语言扩展。
标签: haskell