Ich möchte wie so ByteString
, um Wörter zu spalten:Haskell Wie Char zu Word8 konvertieren
import qualified Data.ByteString as BS
main = do
input <- BS.getLine
let xs = BS.split ' ' input
Aber es scheint, dass GHC kann kein Zeichenliteral zu Word8
selbst konvertieren, so dass ich:
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 findet nichts mit Typ Unterschrift von Char -> Word8
und Word.Word8 ' '
ist ungültiger Typ Konstruktor. Irgendwelche Ideen, wie man es beheben kann?
Verwenden 'nicht ByteString' für Text! Verwenden Sie stattdessen ['Text'] (http://hackage.haskell.org/package/text). –
@DanielWagner Warum nicht? Ist es schneller als "ByteString"? – Andrew
'Text' ist Unicode-freundlich, so dass Ihre Strings in allen Ländern Strings sind. 'ByteString' ist für binäres Parsing, Rohspeicherzugriff und kann nichts anderes als ascii oder latin1 handhaben. –