Haskell - 将字母转换为数字

时间:2016-08-09 14:41:25

标签: haskell

我对Haskell很新,并希望制作一个程序,将字符串中的字符转换为数字。像这样:

A = 06
B = 07
C = 08
... Z

例如:

Input: Hi 
Output: 14 15

有谁知道我怎么能这样做?提前致谢。

2 个答案:

答案 0 :(得分:3)

您正在寻找ord的{​​{1}}。这个解释器代码可以满足您的需求:

Data.Char

您可以通过以下方式创建一个功能:

ghci> import Data.Char
ghci> map ord "Hi"
[72, 105]

如果您想将字母映射到数字,以便例如import Data.Char toAscii :: [Char] -> [Int] toAscii str = map ord str A=1,您可以这样做:

z=58

答案 1 :(得分:3)

你的计算可能是一次性的

> import Data.Char(ord,toUpper)
> map (\x -> ord (toUpper x) - ord 'A' + 6) "Hi"
[13,14]