3

サイモン・ペイトン・ジョーンズの同時実行の例で作業すると、次のコードが得られます。

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 に答える