我正在寻找一个Haskell函数,它产生一个随着壁时间的流逝而缓慢变化的值(并且可能会在一段时间后回绕)。我真的不介意它是IO Integer
还是IO Double
还是什么。我只想要一个随着时间的推移而缓慢变化的值。
据推测,有一个答案埋在time
包的深处。 (或者可能是old-time
,但我认为已经弃用了?)但是,time
包似乎真的,真的复杂。而且我实际上并不关心时区或人类可读的时间表示或任何事情。我只想要一个随着时间的推移而变化的数字。
有人能告诉我一个简单的代码片段吗? (没有我花了三天时间试图找出time
包的复杂性......)
答案 0 :(得分:2)
Prelude> import System.Time
Prelude System.Time> getClockTime
Loading package old-locale-1.0.0.2 ... linking ... done.
Loading package old-time-1.0.0.6 ... linking ... done.
Thu Jul 5 20:04:22 BST 2012
Prelude System.Time> getClockTime >>= (\(TOD sec _) -> return sec)
1341515116
Prelude System.Time> getClockTime >>= (\(TOD sec _) -> return sec)
1341515118
Prelude System.Time> getClockTime >>= (\(TOD sec _) -> return sec)
1341515121