-- Exercise 21.4 -- :
localAccountProxy= {}
localaccounts= {}
functionAccountProxy:new()
localproxy= {}
localaccount= {}
accounts[proxy] =account
setmetatable(proxy, {
__newindex=function(_, k, v)
account[k] =v
end,
__index=function(_, k)
returnaccount[k]
end,
})
returnproxy
end
functionAccountProxy:withdraw(v)
self.balance= (self.balanceor0) -v
end
functionAccountProxy:deposit(v)
self.balance= (self.balanceor0) +v
end
functionAccountProxy:getBalance()
returnself.balanceor0
end
-- Example usage
localacc_1=AccountProxy:new()
acc_1:deposit(100.0)
print(acc_1:getBalance()) -- 100.0
acc_1:withdraw(50.0)
print(acc_1:getBalance()) -- 50.0