Account= { money= 0 , last_change= 0 }
function Account: deposit( summ)
self. money= self. money+ summ
self. last_change= summ
end
function Account: withdraw( summ)
self. money= self. money- summ
self. last_change= 0 - summ
end
function Account: status( )
print ( 'Money: ' .. self. money)
print ( 'Last change: ' .. self. last_change)
end
function Account. new( money)
return { money= money, last_change= 0 , withdraw= Account. withdraw, deposit= Account. deposit, status= Account. status}
end
acc= Account. new( 0 )
function iter( )
print ( "Enter char(+ to deposit, - to withdraw, & to exit or ? to get status.). " )
var= io.read ( )
if var== '+' then
print ( 'Money: ' )
var= io.read ( )
acc: deposit( var)
return
end
if var== '-' then
print ( 'Money: ' )
var= io.read ( )
acc: withdraw( var)
return
end
if var== '&' then
os.exit ( 0 )
end
if var== '?' then
acc: status( )
return
end
end
for i= 1 , 5 do
i= 1
iter( )
end
QWNjb3VudD17bW9uZXk9MCwgbGFzdF9jaGFuZ2U9MH0KZnVuY3Rpb24gQWNjb3VudDpkZXBvc2l0KHN1bW0pCnNlbGYubW9uZXk9c2VsZi5tb25leStzdW1tCnNlbGYubGFzdF9jaGFuZ2U9c3VtbQplbmQKZnVuY3Rpb24gQWNjb3VudDp3aXRoZHJhdyhzdW1tKQpzZWxmLm1vbmV5PXNlbGYubW9uZXktc3VtbQpzZWxmLmxhc3RfY2hhbmdlPTAtc3VtbQplbmQKZnVuY3Rpb24gQWNjb3VudDpzdGF0dXMoKQpwcmludCgnTW9uZXk6ICcuLnNlbGYubW9uZXkpCnByaW50KCdMYXN0IGNoYW5nZTogJy4uc2VsZi5sYXN0X2NoYW5nZSkKZW5kCmZ1bmN0aW9uIEFjY291bnQubmV3KG1vbmV5KQpyZXR1cm4ge21vbmV5PW1vbmV5LCBsYXN0X2NoYW5nZT0wLCB3aXRoZHJhdz1BY2NvdW50LndpdGhkcmF3LCBkZXBvc2l0PUFjY291bnQuZGVwb3NpdCwgc3RhdHVzPUFjY291bnQuc3RhdHVzfQplbmQKYWNjPUFjY291bnQubmV3KDApCmZ1bmN0aW9uIGl0ZXIoKQpwcmludCgiRW50ZXIgY2hhcigrIHRvIGRlcG9zaXQsIC0gdG8gd2l0aGRyYXcsICYgdG8gZXhpdCBvciA/IHRvIGdldCBzdGF0dXMuKS4gIikKdmFyPWlvLnJlYWQoKQppZiB2YXI9PScrJyB0aGVuCnByaW50KCdNb25leTogJykKdmFyPWlvLnJlYWQoKQphY2M6ZGVwb3NpdCh2YXIpCnJldHVybgplbmQKaWYgdmFyPT0nLScgdGhlbgpwcmludCgnTW9uZXk6ICcpCnZhcj1pby5yZWFkKCkKYWNjOndpdGhkcmF3KHZhcikKcmV0dXJuCmVuZAppZiB2YXI9PScmJyB0aGVuCm9zLmV4aXQoMCkKZW5kCmlmIHZhcj09Jz8nIHRoZW4KYWNjOnN0YXR1cygpCnJldHVybgplbmQKZW5kCmZvciBpPTEsIDUgZG8KaT0xCml0ZXIoKQplbmQK
stdout
Enter char(+ to deposit, - to withdraw, & to exit or ? to get status.).
Money: 0
Last change: 0
Enter char(+ to deposit, - to withdraw, & to exit or ? to get status.).
Money:
Enter char(+ to deposit, - to withdraw, & to exit or ? to get status.).
Money: 2300
Last change: 2300
Enter char(+ to deposit, - to withdraw, & to exit or ? to get status.).
Money:
Enter char(+ to deposit, - to withdraw, & to exit or ? to get status.).
Money: 800
Last change: -1500