2

たとえば、haskell list[72,73,74,75]がありますが、このリストを文字列として出力するにはどうすればよいですか? リスト内のすべての要素は ascii 値です。

4

4 に答える 4

7

mapリストの各要素に関数を適用する と、値を同等の値にchr変換する関数を組み合わせることができます。IntChar

> map chr [72,73,74,75]
"HIJK"
于 2012-12-02T02:26:52.277 に答える
6

Intコード ポイントをCharusingに変換できchr :: Int -> Charます。aStringは単なるChars のリストです。これは ASCII だけでなく、どの Unicode コード ポイントでも機能することに注意してください。

Hoogleを使用して、このような関数を見つけることができます。のようなものを入力するだけInt -> Charで、そのタイプに一致する関数が表示されます。

于 2012-12-02T02:27:11.563 に答える
1

モジュールCharの「chr」を使用して整数値を文字に変換できます。

import Char

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

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

上記を「runghci」で実行すると、次のようになります。

the string: HIJK
于 2012-12-02T02:26:31.427 に答える
0

このリストをストレート文字列にするか、コンマを含むリストにするか? ASCII char 値を対応する文字に変換したくない場合 (既に説明しました)、次の操作を実行できます。

concatMap show [72,73,74,75]

「72737475」文字列が表示され、

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

「72,73,74,75」文字列が表示されます

于 2012-12-02T13:15:27.467 に答える