用空代理实现account(lua程序设计21.7练习21.4题)
function createAccount()local proxy = {}local mt = {balance = 0}mt.withdraw = function(v) mt.balance = mt.balance - v endmt.deposit = function(v) mt.balance = mt.balance + v endmt.getBalance = function() return mt.balance endsetmetatable(proxy,mt)mt.__index = mtreturn proxy
endlocal account = createAccount()
account.deposit(300)
print(account.getBalance())
account.withdraw(100)
print(account.getBalance())