编程语言Lua(三):Lua的语法细节

 编程  lua 

作者: 李佶澳   转载保留:原文地址   更新时间:2019-03-12 20:39:19 +0800

说明

这是编程语言Lua系列文章中的一篇,建议阅读:Lua语言速查手册

这里记录一些Lua的语法细节,边学习边记录,随时补充,主要来自 Programming in Lua, 4th EditionLua 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行参,指向当前调用者。

参考

  1. Lua 5.1 Reference Manual
  2. Programming in Lua, 4th Edition
  3. Lua 5.3 Reference Manual

本文原创首发于网站:www.lijiaocn.com

 编程  lua 

QQ交流群

区块链实践互助QQ群:576555864

Kubernetes实践互助QQ群:947371129

Prometheus实践互助QQ群:952461804

Kong/Envoy实践互助QQ群:952503851

Ansible实践互助QQ群:955105412

Copyright @2011-2019 All rights reserved. 转载请添加原文连接,合作请加微信lijiaocn或者发送邮件: [email protected],备注网站合作 友情链接: lijiaocn github.com