私がHaskellの宿題でやりたいことの1つは、8進数を2進数に変換する関数を書くことです。入力は文字列でなければならないということが特にあります。8進数への8進数への変換
私はこのようにそれを書くでしょう考え出し:
okt2bin:: String -> String
okt2bin n
|n == "0" = "000"
|n == "1" = "001"
|n == "2" = "010"
|n == "3" = "011"
|n == "4" = "100"
|n == "5" = "101"
|n == "6" = "110"
|n == "7" = "111"
事は、私はそれが複数桁の数字のために働くことを得ることができない、です。誰も助けることができますか?
あなたの関数は 'Char - > String'型でなければならないと思います。それを 'map'の基本関数として使用します。 –
'okts2bins = concatMap(okt2bin.show)' – Bergi
もう一つの提案は、ガードの代わりにパターンマッチングを使用し、もう一つはマイナスの入力を考慮していないということです(エクササイズでは必要ないかもしれませんが、 )) –