#haskell #rio
#haskell #rio
Вопрос:
Пробуем пример из разделенных документов:
$ stack ghci
...
Prelude> :set -XOverloadedStrings
Prelude> import qualified RIO.ByteString as B
Prelude B> B.split 'a' "aXaXaXa"
<interactive>:3:9: error:
• Couldn't match expected type ‘GHC.Word.Word8’
with actual type ‘Char’
• In the first argument of ‘B.split’, namely ‘'a'’
In the expression: B.split 'a' "aXaXaXa"
In an equation for ‘it’: it = B.split 'a' "aXaXaXa"
Чего мне не хватает?
Ответ №1:
Документация взята из split :: Char -> ByteString -> [ByteString]
функции Data.ByteString.Char8
модуля. При этом используются кодовые точки 0-255 как Char
для соответствующего байта.
Однако вместо этого вы можете использовать значение в байтах. Например, 'a'
имеет значение в байтах 97, поэтому мы можем разделить это с:
Prelude> :set -XOverloadedStrings
Prelude> import qualified RIO.ByteString as B
Prelude B> B.split 97 "aXaXaXa"
["","X","X","X",""]
Комментарии:
1. Отлично, спасибо! Хорошо, так что в основном это опечатка в документах, верно?