我正在尝试将一个包含数字的字符串转换为单独的数字。有多种方法可以解决这个问题,其中一种是使用map digitToInt "1234"
我尝试了类似的方法,但不是使用digitToInt
,而是使用read::Char->Int
函数。然而,当我使用上述内容时,我遇到了编译错误,例如:
map (read::Char->Int) ['1','2']
给我以下错误。我不确定这里出了什么问题,我正在尝试将一个接受Char的函数映射到Char列表上,我错过了什么?
请不要告诉我其他方法,因为我知道有几种其他方法可以做到这一点。只是想了解这里发生了什么。
Couldn't match type ‘Char’ with ‘[Char]’
Expected type: Char -> Int
Actual type: String -> Int
• In the first argument of ‘map’, namely ‘(read :: Char -> Int)’
read::Char->Int
函数。在 Prelude 中,read
仅定义为字符串输入。您可以随时查看 haskell.org/hoogle 上的类型定义。 - ShamPooShamdigitToInt :: Char -> Int
。 - AJF