我想将ByteString拆分成这样的单词:

import qualified Data.ByteString as BS

main = do
    input <- BS.getLine
    let xs = BS.split ' ' input

但是看来GHC不能将字符文字本身转换为Word8,所以我得到了:
Couldn't match expected type `GHC.Word.Word8'
            with actual type `Char'
In the first argument of `BS.split', namely ' '
In the expression: BS.split ' ' input

Hoogle找不到带有Char -> Word8类型签名的任何内容,并且Word.Word8 ' '是无效的类型构造函数。关于如何解决它的任何想法?

最佳答案

Data.ByteString.Char8模块允许您将字节串中的Word8值视为Char。只是

import qualified Data.ByteString.Char8 as C

然后引用C.split。它是相同的字节串,但是提供了面向Char的函数,用于方便的字节/ ASCII解析。

07-24 12:49