Account = {
balance=123,
}
function Account:f()
print(self.balance)
end
<pre name="code" class="plain">Account:f()
Account.balance=321print(Account.balance)
输出为 -->123 -->321
上面是一个简单的Account类,需要注意的事Accout类中f 函数是采用的 冒号 : 连接的
并且在f 函数中使用到了隐藏的self变量
如果调用Accout的f 函数 采用 点. 会报错
Account.f()
会报错
attempt to index local 'self' (a nil value)
另外如果在定义Accout类的f 函数的时候 采用的是 点. 也会报同样的错
如果Accout类的 f 函数没有对self的引用 则 点 . 和 冒号 : 都是OK的
这说明了:若定义lua 类函数时 采用的事 冒号:才能使用self