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

免费域名 网站重庆微网站制作

免费域名 网站,重庆微网站制作,wordpress gif主题,网站收录目录源码print(*****************************元表的学习*******************************) print(*****************************元表的概念*******************************) --任何变量都可以作为另一个表变量的元表 --任何表变量都可以有自己的元表 --当我…print(*****************************元表的学习*******************************) print(*****************************元表的概念*******************************) --任何变量都可以作为另一个表变量的元表 --任何表变量都可以有自己的元表 --当我们对子表中进行一些特定操作的时候会执行元表中的内容 --元表相当于父类子表相当于子类 print(*****************************设置元表*******************************) mata{} myTable{} --设置元表时第一个参数表示子表第二个参数表示元表 setmetatable(myTable,mata) print(*****************************特定操作*******************************) print(*****************************特定操作 ——tostring******************************) mata2{__tostringfunction(t)return t.nameend } myTable2{name赛罗,age24 } setmetatable(myTable2,mata2) print(myTable2)--如果将return t.name注释掉就不能打印出赛罗 print(*****************************特定操作 ——call*******************************) mata3{--当子表要被当做字符串使用时 会默认调用这个表中的__tostring方法__tostringfunction(t)return t.nameend,--当子表被当做一个函数来执行的时候 会默认调用这个__call中的内容__callfunction()--这里面可以添加参数默认会将调用者传入第一个参数中print(你就是个笨蛋)end--__callfunction(a)--这里面可以添加参数默认会将调用者传入第一个参数中-- print(a)-- print(你就是个笨蛋)--end--这样写就会将小米手机打印出来 } myTable3{name小米手机, } setmetatable(myTable3,mata3) myTable3() print(*****************************特定操作 运算符重载*******************************) mata4{--相当于重载运算符 当子表使用运算符的时候 会调用该方法--运算符__addfunction(t1,t2)return t1.aget2.ageend,--运算符-__subfunction(t1,t2)return t1.age-t2.ageend,--运算符*__mulfunction(t1,t2)return 1end,--运算符/__divfunction(t1,t2)return 2end,--运算符%__modfunction(t1,t2)return 3end,--运算符^__powfunction(t1,t2)return 4end,--运算符__eqfunction(t1,t2)return 0end,--运算符__ltfunction(t1,t2)return 0end,--运算符__lefunction(t1,t2)return 0end,--运算符..__concatfunction(t1,t2)return 连接成功end, } myTable4{age114514} setmetatable(myTable4,mata4) myTable5{age8848} print(myTable4myTable5) print(myTable4-myTable5) print(myTable4*myTable5) print(myTable4/myTable5) print(myTable4%myTable5) print(myTable4^myTable5) --采用条件运算符来比较两个对象 --这两个对象的元表要一致才能比较 print(***********) setmetatable(myTable5,mata4) print(myTable4myTable5) print(myTable4myTable5) print(myTable4myTable5) print(myTable4..myTable5) print(*****************************特定操作 __index和__newindex*******************************) mata6{age10--mata6.__indexmata6这样写会报错 } mata6.__indexmata6 --__index的赋值 写在表的外面来进行初始化 --mata6.__index{age20} myTable6{} setmetatable(myTable6,mata6) --当子表中找不到某一个属性的时候会到元表中__index指定的表去找 print(myTable6.age)--如果将mata6.__indexmata6注释了过后就不会打印10 print(*********************套娃**************************) mata666 {age 114514 } mata666.__index mata666 -- mata666 是它自己的元表 meta7 {} meta7.__index mata666 -- 应该指向 mata666 作为它的元表的 __index myTable7 {} setmetatable(myTable7, meta7) -- 现在 myTable7 的元表是 meta7它知道如何通过 mata666 查找不存在的字段 print(myTable7.age) -- 这应该会打印出 114514 print(********************__newindex***************************) --newindex 当赋值时如果赋值一个不存在的索引 --那么会把这个赋值到newindex所指的表中 不会修改自己 meta8{} meta8.__newindex{} myTable8{} setmetatable(myTable8,meta8) myTable8.age114514 print(myTable8.age)--nil print(meta8.__newindex.age) print(********************得到元表的方法***************************) print(getmetatable(myTable8)) print(getmetatable(myTable6))--可以看到打印出来的table表不同print(setmetatable(myTable4,mata4))--这句代码的作用是将 mata4 设置为 myTable4 的元表metatable --rawget 当我们使用它的时候 会去找自己身上有没有这个变量 --rawset会忽略newIndex只改变自己 print(rawget(myTable2,age))--24 print(rawset(myTable2,age,100)) print(rawget(myTable2,age))--100--修改成功 print(这是修改失败的) print(myTable8.age)--修改练习 print(rawset(myTable8,age,200))--这里试图将myTable8.age修改为200 print(meta8.__newindex.age)--这里输出nil修改失败 --rawget 会忽略newIndex只找自己 print(rawget(myTable6,age))--nil--找不到 输出
http://www.pierceye.com/news/524775/

相关文章:

  • 外贸经常用的网站深圳专业网站建设定制
  • 网站建设项目签约仪式举行注册网站不用手机短信验证的
  • 汕头建站模板源码网站如何做视频链接地址
  • wordpress 取消赞广东seo推广软件
  • 网站一个多少钱做网站意义和目的
  • 做网站要用编程吗学做宝宝衣服的网站
  • 网站建设有哪些方法怎么在百度上注册店铺
  • 网站获取访问者qqwordpress网站布置视频
  • 南宁怎么做seo团队网站排名优化培训电话
  • 做百科权威网站有哪些开发网站访问流量赚钱
  • 网站建设论坛快速建站可以做网站的路由器
  • 网站首页没排名但内页有排名建设网站招标
  • 网站公司做网站修改会收费吗设计logo网站免费无水印
  • 东营市做网站优化视频拍摄剪辑培训
  • 南通百度网站快速优化运城小程序开发公司
  • 做一个综合商城网站多少钱网站建设运营必备人员
  • 聊城做wap网站公司手机网站设计教育类模板
  • 深圳做网站的人做微信投票的网站5
  • 靖安建设局网站WordPress使用云数据库
  • h5制作哪个网站好济南php网站开发
  • 深圳网站建设类公司最大的网站开发公司
  • ps做图游戏下载网站有哪些内容百度ip地址
  • 网站到期续费吗网站首页缩略图 seo
  • 网站制作案例 立邦建立个人网站能赚钱吗
  • 重庆巨能建设集团网站网站seo置顶 乐云践新专家
  • 专业制作网站 上海黑糖 wordpress 主题
  • 数据库网站开发卡片风格网站
  • 信息发布平台建站网站服务器天付
  • 免费做网站方法北京公司排名seo
  • 网站备案登记表晋城市建设局 网站