たとえば、haskell list[72,73,74,75]
がありますが、このリストを文字列として出力するにはどうすればよいですか? リスト内のすべての要素は ascii 値です。
質問する
1886 次
4 に答える
7
map
リストの各要素に関数を適用する と、値を同等の値にchr
変換する関数を組み合わせることができます。Int
Char
> map chr [72,73,74,75]
"HIJK"
于 2012-12-02T02:26:52.277 に答える
6
Int
コード ポイントをChar
usingに変換できchr :: Int -> Char
ます。aString
は単なるChar
s のリストです。これは 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 に答える