服务器之家

服务器之家 > 正文

Lua实现__add方法重载示例

时间:2020-04-24 11:14     来源/作者:脚本之家

实现加法(__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

 

标签:

相关文章

热门资讯

沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部