2012-12-02 65 views

回答

6

您可以結合map,它將函數應用於列表中的每個元素,並將Int值轉換爲其Char等效值:

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

你可以用 'CHR' 從模塊字符的整數值轉換爲字符:

import Char 

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

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

運行上面有 'runghci' 給出:

the string: HIJK 
6

您可以將Int碼點轉換使用chr :: Int -> Char一個Char到;一個String只是一個列表Char s。請注意,這將適用於任何Unicode代碼點,而不僅僅是ASCII,這是您應該做的任何事情。

你可以用Hoogle找到類似這樣的功能;只需輸入類似Int -> Char的東西,它會給你匹配該類型的函數。

0

您是否想將此列表作爲直線字符串或帶逗號的列表?除非你想ASCII字符值轉換爲字符同行(其已經覆蓋),你可以做到以下幾點:

concatMap show [72,73,74,75] 

會給你一個「72737475」的字符串和

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

會給你一個「72,73,74,75」字符串