当前位置: 首页 > news >正文

上海土地建设官方网站做暖暖小视频网站

上海土地建设官方网站,做暖暖小视频网站,安康码管理平台,网站没有备案用什么cdn示例代码 《programming in lua》里有一个案例很详细#xff0c;就是写一个集合类的table#xff0c;其负责筛选出table中不重复的元素并组合成一个新的table。本人按照自己的方式默写了一次#xff0c;结果发现大差不差#xff0c;代码如下#xff1a; Set {} --集合--…示例代码 《programming in lua》里有一个案例很详细就是写一个集合类的table其负责筛选出table中不重复的元素并组合成一个新的table。本人按照自己的方式默写了一次结果发现大差不差代码如下 Set {} --集合--创建一个新集合 function Set.new(t)local set {}for k,v in ipairs(t) doset[v] trueendreturn set end--集合并运算 function Set.union(a,b)local res Set.new({})for k,v in pairs(a) dores[k] trueendfor k,v in pairs(b) dores[k] trueendreturn res end--集合交运算 function Set.intersection(a,b)local res Set.new({})for k,v in pairs(a) doif b[k] thenres[k] trueendendreturn res end--集合转成字符串 function Set.tostring(set)local res {local temp for k,v in pairs(set) doresres..temp..ktemp ,endresres..}return res endlocal set Set.new({1,3,4,5,6,3,4,5}) local set2 Set.new({3,5,7}) local intersectSet Set.intersection(set,set2) local unionSet Set.union(set,set2) print(Set.tostring(intersectSet)) --{3,5} print(Set.tostring(unionSet)) --{1,3,4,5,6,7} 算术运算metamethod 将上面每个函数都改写成metamethod的形式相当于是运算符直接重载而非显式调用函数名可以达到同样的目的。赋值加法运算和乘法运算如下 setmetatable(Set,{__add Set.union,__mul Set.intersection, })--创建一个新集合 function Set.new(t)local set {}setmetatable(set,getmetatable(Set))for k,v in ipairs(t) doset[v] trueendreturn set end 关系运算metamethod 常见的关系运算即等于、小于、大于、大于等于、小于等于只需要等于、小于、小于等于中的其中两个关系即可推算出其他所有关系。如果是a大于b则是b小于等于a的运算如果是a大于等于b则是b小于a的运算。在lua中给了三个关系运算metamethods__eq等于__lt小于和__le小于 等于给关系运算符赋予特殊的含义。 于是为上面集合覆写关系运算 --小于等于 __le function(a,b)for k,v in pairs(a) doif not b[k] thenreturn falseendendreturn true end, --等于 __eq function(a,b)return a b and b a end, --小于 __lt function(a,b)return a b and a ~ b end 测试代码如下 local a Set.new({1,3,4,5,6}) local b Set.new({3,5}) print(ab)--false print(ab)--false print(ab)--true print(ab)--false print(ab)--true tostring 类似tostring函数也是有相应的metamethod供我们选择的比如上方的tostring函数可以设置metatable的元方法__tostring这样的话就直接print(set)即可了 setmetatable(Set,{__add Set.union,__mul Set.intersection,__tostring Set.tostring }) print(intersectSet) --{3,5} print(unionSet) --{1,3,4,5,6,7}
http://www.w-s-a.com/news/447631/

相关文章:

  • 最牛论坛网站app生成链接
  • 用jsp做的网站源代码网站优化说明
  • 网站建设公司名字甘肃省和住房建设厅网站
  • 做外贸网站需要什么卡网站建设公司怎样
  • 网站关键词密度怎么计算的中文版wordpress
  • asp网站建设教程如何在线上推广自己的产品
  • 电脑网站你懂我意思正能量济南网站建设公司熊掌号
  • 杂志社网站建设萧山区网站建设
  • 电商网站前端制作分工网站怎做百度代码统计
  • 免费的html大作业网站网站开发心得500字
  • 临时工找工作网站做美缝帮别人做非法网站
  • 深圳网站建设 设计创公司新昌网站开发
  • 唐山教育平台网站建设上海装修网官网
  • 一个公司做多个网站什么行业愿意做网站
  • 成都龙泉建设网站免费域名app官方下载
  • xss网站怎么搭建如何用wordpress站群
  • 怎样做网站外链supercell账号注册网站
  • 阿里巴巴网站是用什么技术做的哪些网站做推广比较好
  • 做网站go和python手机如何创网站
  • 网站开发进修网站做301将重定向到新域名
  • 公司网站开发费用账务处理ucenter wordpress
  • 六站合一的优势少儿编程机构
  • 软件开发与网站开发学做美食网站哪个好
  • 网站搜索 收录优化百度推广页面投放
  • 响应式网站的优点浙江省网站域名备案
  • 网站安全 扫描深圳被点名批评
  • 在哪个网站可以一对一做汉教网站优化策略
  • 龙岩做网站的顺企网宁波网站建设
  • 昆山网站建设河北连锁餐厅vi设计公司
  • 新蔡县住房和城乡建设局网站南昌租房网地宝网