1)あるInt
タイプからタイプにどのように変換しますNum
か?
同様の質問が以前に行われ、その答えは(Haskell wikiにあるように)を使用することfromIntegral
です。fromIntegral
タイプを返すNum
ので、これを希望の形式にキャストする必要があります。
私はWord16
それをに変換する必要があるInt64
ので、私は次のことをしています
let valueLength = (fromIntegral(tagLength) :: Int64)
tagLength
タイプはどこにありますかWord16
このアプローチは正しいですか?
2)型変換を安全に処理するにはどうすればよいですか?
Short
私が信じている整数用のJavaのバックグラウンドから来ておりInt
、としてLong
使用することはできますが、その逆はできません。Haskellでは私が書いたらshort
int
256 :: Word8
その中ghci
で0を返します。