3
通過Simon Peyton Jones併發例如工作的價值,我有以下代碼:看着的TVar在GHCI
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
對於這個簡單的例子,還有'readTVarIO',它相當於'atomically。 readTVar「,但效率更高。 –