
Untitled
By: a guest on
May 2nd, 2012 | syntax:
None | size: 0.54 KB | hits: 10 | expires: Never
private val map = new java.util.HashMap[String, Account]()
map.put("from", Account("from", 500))
map.put("to", Account("to", 500))
val accountsRef = Ref(map)
def transfer(fromNo: String, toNo: String, amount: Int): Unit = {
atomic{ implicit t =>
var accounts = accountsRef()
val (from, to) = (accounts.get(fromNo), accounts.get(toNo))
if(from.balance > amount){
accounts.put(to.accountNo, to.credit(amount))
accounts.put(from.accountNo, from.debit(amount))
accountsRef() = accounts
}
}
}