我需要使用map
函数来获取便士到磅的换算。
很抱歉这个愚蠢的问题..但是我是初学者。
del :: Int -> Float
del x = ( fromIntegral x ) / 100
pounds :: [Int] -> [Float]
pounds = map del
我得到这个错误。
*Main> pounds 45
<interactive>:90:8:
No instance for (Num [Int])
arising from the literal `45'
Possible fix: add an instance declaration for (Num [Int])
In the first argument of `pounds', namely `45'
In the expression: pounds 45
In an equation for it': it = pounds 45
最佳答案
看来您输入了
ghci> pounds 45
在提示符下。但是
pounds
需要一个(Int
)列表作为其参数。您应该使用ghci> del 45
在那里,或
ghci> pounds [45]
由于整数文字具有隐式的
fromInteger
,因此GHC尝试查找需要fromInteger :: Integer -> [Int]
的转换instance Num [Int]
,但找不到它,这就是它报告的错误。关于haskell - Int到Float的转换:Num [Int]没有实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12963967/