gpt4 book ai didi

haskell - IO monad 中的当前时间

转载 作者:行者123 更新时间:2023-12-02 16:53:55 26 4
gpt4 key购买 nike

例如,如果我有以下内容:

import Data.Time.Clock.POSIX

t = getPOSIXTIME

然后 t::IO POSIXTime。这意味着它在 IO monad 中,我就了解这么多。有什么方法可以从 monad 中获取值以用于程序中的其他函数吗?我不想将值输出到终端。

对于这样一个新手问题,我深表歉意,但是我读的 monad 教程越多,我对它的理解就越少。这本质上更多的是关于单子(monad)的问题,而不是具体关于时间的问题。

最佳答案

如果您的其他函数需要 POSIXTime,您可以将它们包装在 do 表示法中。

最简单的方法可能是将其放在main中。假设您的另一个函数名为 f 那么:

import Data.Time.Clock.POSIX

main :: IO ()
main = do
t <- getPOSIXTIME
f t

例如

ghc time XXX.hs
./time
do 表示法中的

tPOSIXTime,而不是 IO POSIXTime

http://en.wikibooks.org/wiki/Haskell/do_Notation

关于haskell - IO monad 中的当前时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27629353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com