Lua實(shí)現(xiàn)__add方法重載示例
實(shí)現(xiàn)加法(__add)重載代碼示例:
do
local Infor_class = {};
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
相關(guān)文章
Lua中pairs與ipairs的區(qū)別總結(jié)
這篇文章主要給大家介紹了關(guān)于Lua中pairs與ipairs區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
詳解Lua中repeat...until循環(huán)語句的使用方法
這篇文章主要介紹了詳解Lua中repeat...until循環(huán)語句的使用方法,需要的朋友可以參考下2015-05-05

