Lua函数声明与调用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Lua函数声明与调⽤
lua编程中,我们经常也会遇到函数的声明定义和调⽤。

【1】lua中函数定义与调⽤的⽅法
lua有两种函数定义和调⽤的⽅法(本质都是⽤属性,⽅式不同⽽已):
(1)点号形式
(2)冒号形式
两种⽅法的联系:
(1)相同点:本质都是⽤属性⽅式
(2)不同点:⽤冒号形式定义的函数默认会有⼀个参数self。

self实质指向表本⾝(类似于C++中的this)。

【2】两种⽅法的定义调⽤实例对⽐
综上可知,两种⽅式会有四种组合需求:
(1)点号定义 && 点号访问
_M = {value = 10}
function_M.set_value(_M, new_value)
_M.value = new_value
end
function_M.print_sum(_M)
print(_M.value + _M.value)
end
print(_M.value)
_M.set_value(_M, 20)
print(_M.value)
_M.print_sum(_M)
--[[
10
20
40
--]]
(2)冒号定义 && 冒号访问
_M = {value = 10}
function_M:set_value(new_value)
self.value = new_value
end
function_M:print_sum()
print(self.value + self.value)
end
print(_M.value)
_M:set_value(20)
print(_M.value)
_M:print_sum()
--[[
10
20
40
--]]
(3)点号定义 && 冒号访问
_M = {value = 10}
function_M.set_value(_M, new_value)
_M.value = new_value
end
function_M.print_sum(_M)
print(_M.value + _M.value)
end
print(_M.value)
_M:set_value(20)
print(_M.value)
_M:print_sum()
--[[
10
20
40
--]]
(4)冒号定义 && 点号访问
_M = {value = 10}
function_M:set_value(new_value)
self.value = new_value
end
function_M:print_sum()
print(self.value + self.value)
end
print(_M.value)
_M.set_value(_M, 20)
print(_M.value)
_M.print_sum(_M)
--[[
10
20
40
--]]
Good Good Study, Day Day Up.顺序选择循环总结。

相关文档
最新文档