我试图使用Raaz加密库中的randomByteString。面对本代码中的某些类型转换问题
str = randomByteString (42::ALIGN)
此处此代码返回str
类型的RT mem ByteString
,如何将其类型转换为ByteString
?
答案 0 :(得分:2)
randomByteString
函数需要一个长度参数,该参数是多态的,并产生一个必须使用securely
或insecurely
运行的monadic结果。将这些放在一起并记住给出明确的类型,这样我们就不会产生含糊之处:
securely (randomByteString (10 :: BYTES Int) :: RandM ByteString)
在完整的程序中,您通常不需要这些额外的类型签名,因为它们自然会出现在函数签名中,可以推断,或者在程序中显示为类型字段。