我想将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解析。