3

通过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
4

1 回答 1

6

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

于 2014-01-08T07:07:18.793 回答