脚本宝典收集整理的这篇文章主要介绍了Lua实现__add方法重载示例,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
实现加法(__add)重载代码示例:
function Infor_class.create(_t)
local newTable = {};
setmetatable(newTable, Infor_class); --set the metatable
for i, v in pairs(_t) do
newTable[i] = v;
end
return newTable;
end
function Infor_class.sum(c1, c2)
if(#c1 ~= #c2) then
return nil;
else
local result = {};
local len = #c1;
for i = 1, len do
result[i] = c1[i] + c2[i];
end
PRint("result");
return result;
end
print("nil");
return nil;
end
Infor_class.__add = Infor_class.sum --override the _add
r1 = Infor_class.create{3, 4}
r2 = Infor_class.create{5, 6};
result = r1 + r2;
print(unpack(result));
end
以上是脚本宝典为你收集整理的Lua实现__add方法重载示例全部内容,希望文章能够帮你解决Lua实现__add方法重载示例所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。