我需要找到一个很好的价值,以mkStdGen
作为种子。
我通常做的第一件事就是使用自纪元开始以来的刻度,然而,为了做到这一点,我使用getClockTime
中的System.Time
,根据hackage已弃用,赞成Data.Time。后者似乎没有公开这个功能。
有没有更好的方法为此值生成种子?或者我应该忽略弃用警告?
答案 0 :(得分:9)
这通常是不必要的,因为global StdGen
以启动时的当前时间播种。因此,您可以使用randomIO
和randomRIO
并使用隐式的,基于IO
的随机数生成器,或getStdGen
以及通常的纯函数,以获得更明确的函数。 / p>
答案 1 :(得分:5)
您是否在寻找getPOSIXTime
(docs)?
脚注:请注意,此不会返回自任何纪元开始以来的刻度数,您永远不应声称它确实存在。它返回基于UTC时间的有损转换定义的“POSIX时间”,并且UTC时间对于确定没有最新转换数据库的日期之间的间隔没有用。