【发布时间】:2020-11-28 12:33:20
【问题描述】:
我必须将任何十六进制数转换为十月数。 在另一篇文章中我看到了这段代码
main = do
octStr <- getLine
let
val :: Integer
(val,_):_ = readOct octStr
hexStr = showHex val ""
putStrLn hexStr
对于 Oct 到 Hex,但我不明白 readOct 函数..
谁能向我解释或以其他方式帮助我?
提前致谢:)
【问题讨论】:
-
readOct只是一个简单的函数,这是真正做工作的函数,剩下的就是更多的读取输入和打印输出。因此,该文件在其他地方包含/导入readOct函数。 -
我是否只需要在该代码的第一行添加
readOct = "0644",然后程序将该数字转换为十六进制数字? -
不,
readOct是一个函数,它接受一个字符串并返回一个Integer。但是,代码片段并不是真正的函数式编程。这看起来更像是将命令式程序转换为 Haskell 的人。 -
公平地说,我也不太了解
readOct,基于它的用法。而不是像String -> Integer这样简单的东西,对于某些未知类型?,类型似乎是String -> [(Integer, ?)]。