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

seo网站推广简历网站html5自适应

seo网站推广简历,网站html5自适应,免费做外贸的网站空间,购物链接针对在两种正常状态#xff1a;表的不存在的域的查询和修改#xff0c;Lua也提供了改变 tables的行为的方法。 index metamethod 我们可以通过index元方法来实现访问table内部不存在的域时人为操控返回数据。 比如以下测试代码#xff1a; local set {1,2,3} setmetata…针对在两种正常状态表的不存在的域的查询和修改Lua也提供了改变 tables的行为的方法。 index metamethod 我们可以通过index元方法来实现访问table内部不存在的域时人为操控返回数据。 比如以下测试代码 local set {1,2,3} setmetatable(set,{__index function (t, k)print(index func ..k)end }) print(set[4]) --index func 4 nilset {} print(set[4]) --nil 由上可以看出当我们去访问表内不存在的域时会走一遍__index函数并取得相应返回值。同时我们需要注意的是在后期重新赋值整表的时候其metatable已经刷新所以再次访问不存在的域时已不存在之前的效果。 __index同样可以是一个table类型而非函数类型这样的意义即如若访问不存在的域则寻找这个table B否则则查找这个table B的__index metamethod。 local A {1,2,3} local B {[a] 4,[b] 5} setmetatable(B,{__index function (t,k)print(test B index func)end }) setmetatable(A,{__index B }) print(A[a]) --4 print(A[b]) --5 print(A[c]) --test B index func 因此则可以引出lua的重要概念继承通过index函数可以实现没找到原table的域时可以从父类寻找。 如若不想经过index操作则直接调用rawget(t,i)来寻找相应值。 newindex metamethod __newindex metamethod在对表缺少的域赋值的时候会被调用注意调用了__newindex之后并不会自动进行赋值操作意味着在newindex函数里需要手动赋值才行。参考如下代码 local A {1,2,3} setmetatable(A,{__newindex function (t, k, v)print(test A newindex func)end }) A[4] 4 --test A newindex func for i 1,4 doprint(A[i]) -- 1 2 3 nil end 可以发现赋值了key4之后的A[4]访问值依然为nil说明newindex内部仍然需要显式加上t[k] v才可。 如若不想经过newindex操作则直接调用rawset(t,k,v)来进行表的赋值。 默认值的表 直接重写index函数如若访问到了不存在的域则默认返回某值即可参考如下代码 local A {1,2,3} setmetatable(A,{__index function (t, k)return 1end }) for i 1,4 doprint(A[i]) -- 1 2 3 1 end 当然如果担心每个对象都需要默认值访问逻辑但是默认值都不同也可以表内部维护一个local table变量__index实际上就是调用这个local变量里的某个键值对即可如下所示 local A {1,2,3} local key {} setmetatable(A,{__index function (t, k)return A[key]end })A[key] 1 --如果后续每个对象都需要不同的默认值则直接修改即可不用担心冲突 for i 1,4 doprint(A[i]) -- 1 2 3 1 end 监控表 顾名思义当我们对某个表进行赋值或者访问操作时需要进行记录。我们可以创建一个代理表这个代理表不存储任何数据修改__index和__newindex函数来输出记录并定位至原表如下所示 local A {1,2,3} function Record(tb)local proxy {}setmetatable(proxy,{__index function (t, k)print(index)return tb[k]end,__newindex function (t, k, v)print(newindex)tb[k] vend})return proxy endlocal proxy Record(A) for i 1,3 doprint(proxy[i]) --[[index1index2index3]]-- end proxy[4] 4 --newindex 只不过类似pairs的操作是无效的因为proxy本身就是空表。 只读表 参考之前的博客lua只读表-CSDN博客
http://www.hkea.cn/news/14452858/

相关文章:

  • 建设网站需要哪些流程iis7 伪静态 wordpress
  • 皮卡剧网站怎样做东莞寮步
  • 专业的设计网站有哪些内容网站建设广告有哪些平台
  • 中国交通建设监理协会网站制作图片的软件免费
  • 义乌高端网站设计品牌有设计师做的装修效果图的网站
  • 选择seo网站排名优化宁波专业的网站建设
  • 教你学做窗帘的网站林西网站建设优化
  • 建设400官方网站win7 iis网站无法显示
  • 自己做的电影网站犯法吗广州网站推广费用
  • 怎么说服客户做网站logo设计免费平台
  • 石家庄网站建设公司怎么样常州seo收费
  • 域名的时间长短与网站权重关系建设部执业资格注册中心网站查询
  • 自己做店招的网站网站APP注册做任务
  • 域名 空间 网站制作个人如何注册网址
  • 路由器电脑可以做网站主机网页设计与制作的岗位职责
  • 苏州网站排名方案免费商城网站建设平台
  • 株洲网站建设兼职网站推广seo系统
  • 大学生课程设计网站万网如何做网站
  • 深圳做网站便宜网络推广运营团队
  • 荣成市信用建设网站网站采用什么方法建设
  • 免费家装设计网站科技公司名字
  • 建设厅网站沙场限期通知书行政事业单位网站建设
  • 新万网站建设平面设计网站灵感
  • 网站建设公司 - 百度wordpress重新发布
  • 网站建设百度小程序荆门网站建设公司
  • 智能建站网站广东住房和建设局网站官网
  • 打字赚钱一单一结appseo关键词怎么选
  • asp网站后台模板wordpress 机主题
  • 网站建设哪个最好网站建设属什么资产
  • 成都网站建设好软件网页制作