[5,2,10]
を"52a"
にする簡単な方法があるかどうかを知りたいと思います。 この場合だけでなく、9より大きい数字を対応する文字に関連付ける必要があります。ハスケルintリストから文字列
ありがとうございます。
[5,2,10]
を"52a"
にする簡単な方法があるかどうかを知りたいと思います。 この場合だけでなく、9より大きい数字を対応する文字に関連付ける必要があります。ハスケルintリストから文字列
ありがとうございます。
新しいリストを取得するには、リストの各要素に何かしたいことがあります。つまり、各要素に(自分で定義する必要がある)関数を適用したいとします。これは、Preludeのマップ関数のためのものです。
整数と個々の文字を変換するには、Data.Charモジュールのchrおよびord関数を使用できます。
ので、
map (\i -> if i < 10 then chr (i + ord '0') else chr (i - 10 + ord 'a'))
はタイプの関数[INT]です - あなたは何をしたいん>文字列(エラーが含まれていないチェック、けれども)。
遅いが、よりエレガント:
f = map ((['0'..'9'] ++ ['a'..'z']) !!)
あなたの番号は0から15 Data.Char使用map intToDigit
している場合。
+1の 'intToDigit' – newacct
36より大きい数値はどうなりますか? –