Int32 to Int in Haskell
问题描述:
什么函数或一系列函数可以将Int32转换为Haskell中的Int?我知道HashTable.hashString可以转换为Int32,但我需要一个可以转换其他方式的函数。Int32 to Int in Haskell
答
ghci> import Data.Int
ghci> fromIntegral (5 :: Int32) :: Int
5
ghci> fromIntegral (5 :: Int) :: Int32
5
答
fromIntegral
将从Int32转换为Int或其他方式。
答
停止。 Hoogle time!...不幸的是,Hoogle这次没有很好地回答这个问题。跳绳的答案...
fromIntegral :: (Integral a, Num b) => a -> b
注fromIntegral
类型签名表示它会变成任何Integral
到任何Num
。由于Int32
具有Integral
的声明实例,并且Int
具有Num
的声明实例,因此fromIntegral
函数将执行此作业。
欢迎来到多态返回类型!当我第一次遇到哈斯克尔时,这些非常神秘。 – Daniel 2011-02-03 14:38:46