Ответ 1
Вы можете просто использовать числовой литерал 10
, но если вы хотите преобразовать символьный литерал, вы можете использовать fromIntegral (ord '\n')
(требуется fromIntegral
для преобразования Int
, который ord
возвращается в Word8
). Вам нужно будет импортировать Data.Char
для ord
.
Вы также можете импортировать Data.ByteString.Char8
, который предлагает функции для использования Char
вместо Word8
в том же типе ByteString
. (Действительно, у него есть функция lines
, которая делает именно то, что вы хотите.) Однако это обычно не рекомендуется, так как ByteString
не хранит кодовые страницы Unicode (что означает Char
), а вместо этого необработанные октеты (т.е. Word8
s).
Если вы обрабатываете текстовые данные, вам следует использовать Text
вместо ByteString
.