2014-09-08 3 views
2

Я пытаюсь найти функцию, которая преобразует Char в Word8, а другую, которая преобразует его обратно. Я просмотрел Hoogle и нет функций типа Char -> Word8. Я хочу сделать это, потому что Word8 имеет экземпляр класса Num, и я бы смог добавить числа к ним, чтобы изменить их на другой номер. Например, моя функция будет выглядеть примерно так:Haskell: Функция, которая преобразует Char в Word8

shift :: Char -> Int -> Char 
shift c x = toChar $ (toWord8 c) + x 

Любые идеи?

+0

Это может быть полезно: http://stackoverflow.com/questions/8966439/haskell-how-to-create-a-word8 – bstamour

ответ

6

Вы можете использовать fromEnum и toEnum вместо Int. Это имеет дополнительное преимущество, также поддерживая Unicode.

> toEnum (fromEnum 'a' + 3) :: Char 
'd' 
Смежные вопросы