2011-02-02 14 views
8

HaskellでInt32をInt32に変換できる関数や関数の種類は何ですか?私はHashTable.hashStringがInt32に変換できることを知っていますが、他の方法で変換できる関数が必要です。HaskellのInt32からIntへ

答えて

12
ghci> import Data.Int 
ghci> fromIntegral (5 :: Int32) :: Int 
5 
ghci> fromIntegral (5 :: Int) :: Int32 
5 
+2

多型戻り型にようこそ!私が初めてハスケルに会った時、これらはとても神秘的でした。 – Daniel

2

は、Int32からIntに変換されます。

6

停止。 Hoogle time!...悲しいことに、今度はHoogleがこの質問にうまく答えることができません。その答えにスキップする...

fromIntegral :: (Integral a, Num b) => a -> b

(docs at hackage.haskell.org)

fromIntegralの型シグネチャは、それがどのNumに任意のIntegralをオンにすることを示します。 Int32Integralの宣言されたインスタンスを持ち、IntNumの宣言されたインスタンスを持ちますので、fromIntegral関数がその役割を果たします。