Int List To Integer List

时间:2014-11-28 14:45:32

标签: list haskell

如何将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

3 个答案:

答案 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从任何整数类型(IntIntegerCharWord8等)转换为任何{{1}当然,包含整数类型的类型。

因此,将Num转换为[Int]的一种方法是:

[Integer]