这是编程语言Lua系列文章中的一篇,建议阅读:Lua语言速查手册。
这里记录一些Lua的语法细节,边学习边记录,随时补充,主要来自 Programming in Lua, 4th Edition、Lua 5.3 Reference Manual 、Lua 5.1 Reference Manual 。
模块Account中实现了一个函数withdraw:
Account = {balance = 0}
function Account.withdraw (v)
Account.balance = Account.balance - v
end
这个withdraw()函数中操作的是Account.balance,绑死了Account,这个方法只有Account能用。
实现一个能够操作任意调用者中的balance变量的方法,可以用下面的方法:
function Account.withdraw (self, v)
self.balance = self.balance - v
end
可以用”:”操作符进行简化,省去self:
function Account:withdraw (v)
self.balance = self.balance - v
end
冒号操作符自动添加一个self行参,指向当前调用者。