在我的Haskell作业中,我必须做的一件事是编写一个将八进制数转换为二进制数的函数,具体而言就是要求输入必须是字符串。将八进制转换为二进制
我想我会写这样的:
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
另一个建议是,使用模式匹配而不是警卫,还有一件事情,你没有考虑负面投入(可能不需要练习,但为什么不去做: )) –