如何将Int
列表转换为Integer
列表?
我只找到适用于Int
的解决方案。
我收到此错误
Couldn't match type `Int' with `Integer'
Expected type: [Integer]
Actual type: [Int]
强迫时
:: [Integer] -> Integer
和
Couldn't match expected type `Integer' with actual type `Int'
强迫时
:: [Int] -> Int
答案 0 :(得分:3)
使用
将找到的解决方案映射到整个列表是否有效map :: (a -> b) -> [a] -> [b]
答案 1 :(得分:3)
将toInteger
映射到列表上。
Prelude> let l = [1,2,3] :: [Int]
Prelude> :t l
l :: [Int]
Prelude> map toInteger l
[1,2,3]
Prelude> :t map toInteger l
map toInteger l :: [Integer]
答案 2 :(得分:0)
您可以使用fromIntegral
从任何整数类型(Int
,Integer
,Char
,Word8
等)转换为任何{{1}当然,包含整数类型的类型。
因此,将Num
转换为[Int]
的一种方法是:
[Integer]