Lua __add方法重载 Lua实现__add方法重载示例

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Lua __add方法重载 Lua实现__add方法重载示例

  2021-03-21 我要评论
想了解Lua实现__add方法重载示例的相关内容吗,在本文为您仔细讲解Lua __add方法重载的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Lua,__add,方法重载,下面大家一起来学习吧。

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

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们