在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
--====================================================================================================== local set={[1]=2,[2]=3,[3]=5,[4]=7,[5]=11,[6]=13,[7]=17,[8]=19,[9]=23,[10]=29,[11]=31,[12]=37,[13]=41,[14]=43,[15]=47,[16]=53,[17]=59,[18]=61,[19]=67,[20]=71,[21]=73,[22]=79,[23]=83,[24]=89,[25]=97,[26]=101}; local reverse={[2]=1,[3]=2,[5]=3,[7]=4,[11]=5,[13]=6,[17]=7,[19]=8,[23]=9,[29]=10,[31]=11,[37]=12,[41]=13,[43]=14,[47]=15,[53]=16,[59]=17,[61]=18,[67]=19,[71]=20,[73]=21,[79]=22,[83]=23,[89]=24,[97]=25,[101]=26}; ngx.say("当前值是:7,下一个质数是:"..set[reverse[7]+1]); ngx.say("当前值是:23,下一个质数是:"..set[reverse[23]+1]); ngx.say("当前值是:41,下一个质数是:"..set[reverse[41]+1]); ngx.say("====================================="); for key, value in pairs(set) do ngx.say("key:"..key..",value:"..value); end ngx.say("====================================="); for key, value in pairs(reverse) do ngx.say("key:"..key..",value:"..value); end --====================================================================================================== --[[ function newset() local reverse = {} --以数据为key,数据在set中的位置为value local set = {}; --一个数组,其中的value就是要管理的数据 return setmetatable(set,{__index = { insert = function(set,value) if not reverse[value] then table.insert(set,value) reverse[value] = table.getn(set) end end, remove = function(set,value) local index = reverse[value] if index then reverse[value] = nil local top = table.remove(set) --删除数组中最后一个元素 if top ~= value then --若不是要删除的值,则替换它 reverse[top] = index set[index] = top end end end, find = function(set,value) local index = reverse[value] return index; end, }}) end local n = newset(); n:insert(5);]]
|
请发表评论