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

如何管理网站域名wordpress 主题学习

如何管理网站域名,wordpress 主题学习,网站专做盗版小说 会犯法吗,宁波公司招聘一、元表 元表可以修改一个值在面对一个未知操作时的行为#xff0c;Lua 中使用 table 作为元表的承载。 元表只能给出预先定义的操作集合的行为#xff0c;比类会更加受限制#xff0c;不支持继承。 Lua 每一个值都可以有元表 #xff1a; 表和用户数据类型都具有各自…一、元表 元表可以修改一个值在面对一个未知操作时的行为Lua 中使用 table 作为元表的承载。 元表只能给出预先定义的操作集合的行为比类会更加受限制不支持继承。 Lua 每一个值都可以有元表 表和用户数据类型都具有各自独立的元表其他类型的值则共享对应类型所属的同一个元表 二、元表的设置 1、类型的原始元表 Lua 中元表的设置只能针对 table 其他类型都不能设置。 table 的初始化元表为 nil 即没有设置元表只能通过 setmetatable 进行设置多个 table 可以共享一个 table 作为元表当然也可以使用他自己作为自己的元表因为他自身也是一个 table Lua 只有 string 初始化了元表而且是针对了所有的字符串即 string 都是同一个元表。其他的类型为 nil 。 print(表的初始值, getmetatable({})) -- 表的初始值 nilprint(整型的初始值, getmetatable(10)) -- 整型的初始值 nil print(浮点型的初始值, getmetatable(10.0)) -- 浮点型的初始值 nil--- 通过打印可以看到两个字符串的元表是同一个 print(字符串的初始值, getmetatable(江澎涌)) -- 字符串的初始值 table: 0x600000b14640 print(字符串的初始值, getmetatable(jiangpengyong)) -- 字符串的初始值 table: 0x600000b14640print(布尔型的初始值, getmetatable(true)) -- 布尔型的初始值 nilprint(nil的初始值, getmetatable(nil)) -- nil的初始值 nilfunction sayHello() end print(函数的初始值, getmetatable(sayHello)) -- 函数的初始值 nil2、设置元表和获取元表 2-1、setmetatable(table, metatable) 给表 table 设置元表 metatable 参数 table要被设置元表的表metabale元表如果值为 nil 则表明要删除 table 的原有元表。如果原来的元表有 __metatable 字段则不能再设置元表否则会抛出异常 cannot change a protected metatable __metatable 会在下面的 “表相关方法” 小节分享 返回值 返回被设置元表的表就是参数 table 2-2、getmetatable(object) 如果 object 没有元表则返回 nil 如果对象 Object 有元表且该元表有一个 __metatable 字段则返回关联的值。否则返回给定对象 Object 的元表 2-3、举个例子 local oriTable {} local metaTable {} print(setmetatable(oriTable, metaTable), oriTable, metaTable) -- table: 0x600001ac0840 table: 0x600001ac0840 print(getmetatable(oriTable), metaTable) -- table: 0x600001ac0900 table: 0x600001ac0900给元表带有 __metatable 字段的表设置新的元表则会抛出异常见下图 t2 { c 1 } t2.__metatable { a 1 } s1 {} setmetatable(s1, t2) print(getmetatable(s1)[a], getmetatable(s1)[a]) -- getmetatable(s1)[a] 1-- 此处会抛出异常cannot change a protected metatable print(setmetatable(s1, {}))三、元表方法 1、具有的元方法 元表方法方法很像 kotlin 中的操作符方法 1-1、算术运算符 元表方法含义__add加法__mul乘法__sub减法__div除法__floorfloor除法__unm负数__mod取模__pow幂运算__band按位与__bor按位或__bxor按位异或__bnot按位取反__shl向左移__shr向右移__concat定义连接运算符 1-2、关系运算符 元表方法含义__eq等于__lt小于__le小于等于 值得注意 、a b、a b 没有对应的元方法会被转为如下 a ~ b 会被转为 not( a b)a b 会被转为 b aa b 会被转为 b a 关系运算符遇到两个不同类型的对象则会直接返回 false 不会进行搜寻任何的元方法 1-3、库相关方法 元表方法含义__tostring当调用 tostring 时会先检查值是否有一个元方法 __tostring 有则会先使用。__metatable使用该元方法可以保护元表用户无法获取也无法修改该元表。当元表设置了 __metatable 的字段则 getmetatable 会返回这个字段的值而 setmetatable 则会引发错误__pairs从 Lua 5.2 开始当元表拥有一个 __pairs 的元方法时pairs 会调用这个元方法来完成遍历 1-4、表相关方法 元表方法含义__index一旦访问 table 中不存在的字段正常情况下会返回 nil 。如果设置了这个元表方法则会调用自身元表对应的该 __index 元方法并以被调用的表即此处的 table 不是元表和键作为参进行调用。也可以给 __index 设置一个 table这样就会直接在这table 中查询速度比方法稍快。可以通过 rawget 获取原始数据不考虑元表。__newindex当调用 table 进行索引赋值时如果设置了该元表方法则会使用被调用的表即此处的 table 不是元表键和值作为参调用该方法。同样也可以给 __newindex 设置一个表则会将值直接存至该表。可以通过 rawset(talbe, key, value) 相当于 table[key] value 进行直接对 table 的赋值不考虑元表。__len获取 table 的长度时会调用该方法获取长度 __index 和 __newindex 的异同 相同点两个函数都是发生在 table 中没有对应的 key 时触发不同点当前需要的索引没有对应的值时则调用 __index 如果 table 设置值时则调用 __newindex 2、元方法的搜索 如果两个变量相加搜索规则如下 先查看第一个值是否有元表并且是否存在所需元方法如果存在则使用该元方法此时第二个值的元方法被忽略。否则进入下一条查看第二个值是否有元表并且是否存在所需的元方法如果有则进行使用。否则进入第三条抛出异常 3、举个例子 这里元方法比较多就不一一粘贴代码了不然会让文章非常冗长。建议各位童鞋们移步 github clone 下代码自行运行一下会更加深刻理解。 “算术运算符” 、 “关系运算符”、“库相关方法” 相关的代码 可以查看以下的代码 集合.luahttps://github.com/zincPower/lua_study_2022/blob/master/13%20%E5%85%83%E8%A1%A8%E3%80%81%E5%85%83%E6%96%B9%E6%B3%95/%E9%9B%86%E5%90%88.lua 集合调用.luahttps://github.com/zincPower/lua_study_2022/blob/master/13%20%E5%85%83%E8%A1%A8%E3%80%81%E5%85%83%E6%96%B9%E6%B3%95/%E9%9B%86%E5%90%88%E8%B0%83%E7%94%A8.lua “表相关方法” 相关的代码 表相关元方法.luahttps://github.com/zincPower/lua_study_2022/blob/master/13%20%E5%85%83%E8%A1%A8%E3%80%81%E5%85%83%E6%96%B9%E6%B3%95/%E8%A1%A8%E7%9B%B8%E5%85%B3%E5%85%83%E6%96%B9%E6%B3%95.lua 四、写在最后 Lua 项目地址Github传送门 (如果对你有所帮助或喜欢的话赏个star吧码字不易请多多支持) 如果觉得本篇博文对你有所启发或是解决了困惑点个赞或关注我呀。 公众号搜索 “江澎涌”更多优质文章会第一时间分享与你。
http://www.hkea.cn/news/14383646/

相关文章:

  • 网站访问量什么意思广告设计与制作培训学校
  • 怎么在wordpress免费注册博客网站平面设计接单价格表
  • 网站建设平台排名中国商标注册查询
  • 哪些网站做舆情分析化妆品行业网站开发
  • 1.电子商务网站建设的核心是( )做宠物网站还有前景嘛
  • 抚松做网站岳阳网站建设网站
  • 网站 毕业设计代做免费微商城平台官网
  • 网站建设合同副本html代码大全很全的
  • 做蛋糕哪个教程网站好关键词优化的原则
  • wordpress 下拉式菜单济南官网seo技术厂家
  • 团购网站如何优化重庆市公共资源交易中心网
  • 网站建设合同书相关附件宁波网站推广规划
  • 广州大型网站建设公司手工制作书签简单又好看
  • 怎么做校园表白墙网站创建网站做搞笑视频
  • 网站中的横幅怎么做八百客crm系统
  • 湖州建设企业网站沈阳网站开发久
  • 安阳网站公司哪家好沈阳建设工程信息网中介
  • 江苏专业做网站的公司有哪些宁波关键词优化排名工具
  • 新野企业网站建设网站底备案号链接代码
  • 宁夏住房建设厅网站个人可以做商城网站吗
  • 乐陵人力资源网站上海网站邮箱制作
  • 自助网站iis做的网站为啥打不开
  • 如何做deal网站推广oa管理系统软件
  • 做网站编辑好还是期刊编辑好阿里云网站建设套餐
  • 自然堂官方网站建设开网店怎么开
  • 招聘网站建设推广东莞网站建设 信科网络
  • 免费做网站站标军事的网站应如何建设
  • 自建站成本哪些公司网站建设好
  • 圣诞网站怎么做广州网络公司策划
  • 做网站优化的注意事项wordpress批量读取excel