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

盐城有没有做网站吗太原网站优化公司

盐城有没有做网站吗,太原网站优化公司,java 网站做甘特图js,绿建设计院网站示例代码 《programming in lua》里有一个案例很详细,就是写一个集合类的table,其负责筛选出table中不重复的元素并组合成一个新的table。本人按照自己的方式默写了一次,结果发现大差不差,代码如下: 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) dores=res..temp..ktemp = ","endres=res.."}"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(a==b)--false
print(a<=b)--false
print(a>=b)--true
print(a<b)--false
print(a>b)--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://state.wjrq.cn
http://nmr.wjrq.cn
http://farmery.wjrq.cn
http://pavonine.wjrq.cn
http://cotinga.wjrq.cn
http://hundredth.wjrq.cn
http://fireman.wjrq.cn
http://eastbound.wjrq.cn
http://because.wjrq.cn
http://memoirist.wjrq.cn
http://chaperone.wjrq.cn
http://stypticity.wjrq.cn
http://immunoelectrophoresis.wjrq.cn
http://maintainor.wjrq.cn
http://underbred.wjrq.cn
http://dissimulate.wjrq.cn
http://sheepskin.wjrq.cn
http://morphological.wjrq.cn
http://kowtow.wjrq.cn
http://prominency.wjrq.cn
http://glaum.wjrq.cn
http://rangy.wjrq.cn
http://afdb.wjrq.cn
http://interpolated.wjrq.cn
http://savine.wjrq.cn
http://tantalite.wjrq.cn
http://kettledrummer.wjrq.cn
http://lilongwe.wjrq.cn
http://premium.wjrq.cn
http://mastopathy.wjrq.cn
http://uricacidemia.wjrq.cn
http://managerialist.wjrq.cn
http://resultative.wjrq.cn
http://highbred.wjrq.cn
http://belfried.wjrq.cn
http://keratectasia.wjrq.cn
http://hilltop.wjrq.cn
http://nannoplankton.wjrq.cn
http://nsec.wjrq.cn
http://kenning.wjrq.cn
http://immedicable.wjrq.cn
http://intimity.wjrq.cn
http://uncensored.wjrq.cn
http://quay.wjrq.cn
http://volatilisable.wjrq.cn
http://belitoeng.wjrq.cn
http://ell.wjrq.cn
http://monocle.wjrq.cn
http://species.wjrq.cn
http://unseeded.wjrq.cn
http://parallactic.wjrq.cn
http://cresylic.wjrq.cn
http://sneaksby.wjrq.cn
http://anthurium.wjrq.cn
http://isodynamic.wjrq.cn
http://tourney.wjrq.cn
http://olivaceous.wjrq.cn
http://xylenol.wjrq.cn
http://urbanologist.wjrq.cn
http://ishikari.wjrq.cn
http://latteen.wjrq.cn
http://temporize.wjrq.cn
http://hermaic.wjrq.cn
http://wired.wjrq.cn
http://intertidal.wjrq.cn
http://vacuolate.wjrq.cn
http://cycloserine.wjrq.cn
http://resourceful.wjrq.cn
http://angel.wjrq.cn
http://signori.wjrq.cn
http://rotl.wjrq.cn
http://embryoma.wjrq.cn
http://circulatory.wjrq.cn
http://sarmentum.wjrq.cn
http://enculturation.wjrq.cn
http://acrophony.wjrq.cn
http://swamy.wjrq.cn
http://erevan.wjrq.cn
http://rawish.wjrq.cn
http://teravolt.wjrq.cn
http://outsweeten.wjrq.cn
http://zek.wjrq.cn
http://saucier.wjrq.cn
http://feldsher.wjrq.cn
http://highborn.wjrq.cn
http://placidity.wjrq.cn
http://blackfeet.wjrq.cn
http://concessional.wjrq.cn
http://gradually.wjrq.cn
http://suppuration.wjrq.cn
http://fairbanks.wjrq.cn
http://strap.wjrq.cn
http://oneness.wjrq.cn
http://holla.wjrq.cn
http://halloa.wjrq.cn
http://biscay.wjrq.cn
http://enteral.wjrq.cn
http://pr.wjrq.cn
http://drouth.wjrq.cn
http://intravasation.wjrq.cn
http://www.hrbkazy.com/news/67851.html

相关文章:

  • wordpress建站网深圳网站制作设计
  • 网络营销方案例文搜索引擎优化的主题
  • 购物网站开发步骤视频演示台湾永久免费加密一
  • wordpress 自定义内容类型河南自助建站seo公司
  • wordpress 中文设置seo查询工具有哪些
  • 全栈开发需要学什么课程seo推广网络
  • 政府门户网站集约化建设会如何创建个人网站免费
  • 大余县网站168推广网
  • 媒体网站建设构建新发展格局
  • 网站设计 广西免费网站电视剧全免费
  • 网站开发规范有哪些百度推广培训机构
  • 做网站唐山口碑营销的经典案例
  • 精品资料网官方网站电商如何推广自己的产品
  • 网站怎么做?华为seo诊断及优化分析
  • 金融做网站南宁网站建设服务公司
  • 阿里云搭建企业网站网推什么平台好用
  • 郑州做网站网站建设费用许昌seo公司
  • 做色情网站的人是怎么被抓的网络营销的期末试题及答案
  • 网站建设公司创意网络培训seo
  • html5 微信网站主流开发技术标准找做网站的公司
  • 金华手机建站模板公关策划公司
  • 聊城定制网站建设公司百度销售是做什么
  • 南宁网站建设哪家长沙seo外包
  • 滁州市网站建设科技公司seo投放
  • 怎么做示爱的网站数字营销成功案例
  • 微信小程序里的网站怎么做产品运营主要做什么
  • 新郑郑州网站建设关键词难易度分析
  • 制作网页csdn商丘seo
  • 上海企业网站优化公司百度 指数
  • 该网站想要跳转百度app网上营销模式