看程序的时候,经常看到点和冒号用来调用function.虽然知道什么含义.但还是记录一下
点的例子:
local CandyCrashItem = {}
CandyCrashItem.__index = CandyCrashItem
function CandyCrashItem.printNum(num)
print(num)
end
CandyCrashItem.printNum(1)
结果:1
冒号的例子:
local CandyCrashItem = {}
CandyCrashItem.__index = CandyCrashItem
function CandyCrashItem:printNum(num)
print(num)
end
CandyCrashItem:printNum(1)
结果:1
点调用冒号的方法:
local CandyCrashItem = {}
CandyCrashItem.__index = CandyCrashItem
function CandyCrashItem:printNum(num)
print(num)
end
CandyCrashItem.printNum(CandyCrashItem,1)
结果:1
点调用冒号方法错误例子:
local CandyCrashItem = {}
CandyCrashItem.__index = CandyCrashItem
function CandyCrashItem:printNum(num)
print(num)
end
CandyCrashItem.printNum(1,CandyCrashItem)
结果:table: 0x7fa222f04f50
结论:
冒号方法是对点方法的封装
:function(x)=.function(self,x)