【问题标题】:Looking at the value of a TVar in GHCi在 GHCi 中查看 TVar 的值
【发布时间】:2014-01-08 06:53:25
【问题描述】:

通过Simon Peyton Jones并发示例,我有以下代码:

import Control.Concurrent.STM
import Control.Concurrent.STM.TVar

deposit account amount = do
    bal <- readTVar account
    writeTVar account (bal+amount)

我正在尝试在 GHCi REPL 中对此进行测试

*Main> checking <- atomically $ newTVar 100
*Main> atomically $ deposit checking 10

如何验证我的支票余额是 110 美元?

我试过了

*Main> checking
*Main> readTVar checking
*Main> balance <- readTVar checking

【问题讨论】:

    标签: haskell ghci stm tvar


    【解决方案1】:

    atomically $ readTVar checking 做你想做的事。 GHCi REPL 会自动执行您给它的任何 IO 操作。

    【讨论】:

    • 对于这种简单的情况,还有readTVarIO,相当于atomically . readTVar,但效率更高。
    猜你喜欢
    • 2011-08-12
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    • 2015-09-23
    相关资源
    最近更新 更多