Haskell输出ascii值列表

时间:2012-12-02 02:16:16

标签: list haskell

例如我有一个haskell列表[72,73,74,75],如何将此列表作为字符串输出?列表中的所有元素都是ascii值。

4 个答案:

答案 0 :(得分:6)

您可以合并map,将函数应用于列表的每个元素,以及chr函数,将Int值转换为其Char等效值:

> map chr [72,73,74,75]
"HIJK"

答案 1 :(得分:6)

您可以使用IntChar代码点转换为chr :: Int -> Char; String只是Char的列表。请注意,这适用于任何Unicode代码点,而不仅仅是ASCII,这是您应该做的事情。

您可以使用Hoogle找到这样的功能;只需键入类似Int -> Char的内容,它就会为您提供与该类型相匹配的功能。

答案 2 :(得分:0)

您可以使用模块Char中的'chr'将整数值转换为字符:

import Char

intListToString l = [ chr x | x <- l ]

main = do
  putStrLn $ "the string: " ++ (intListToString [72,73,74,75])

使用'runghci'运行上面的内容给出了:

the string: HIJK

答案 3 :(得分:0)

您希望此列表为直字符串还是带逗号的列表?除非您想将ASCII字符值转换为其字符对应项(已经涵盖),否则您可以执行以下操作:

concatMap show [72,73,74,75]

会给你一个“72737475”字符串和

init $ tail $ show [72,73,74,75]

会给你一个“72,73,74,75”字符串