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

网站做优化有什么用吗教育机构加盟

网站做优化有什么用吗,教育机构加盟,网站备案填写电话,市场营销实际案例原表解析 在 Lua table 中我们可以访问对应的 key 来得到 value 值,但是却无法对两个 table 进行操作(比如相加)。 因此 Lua 提供了元表(Metatable),允许我们改变 table 的行为,每个行为关联了对应的元方法。 setmetatable(table,metatable…

原表解析

在 Lua table 中我们可以访问对应的 key 来得到 value 值,但是却无法对两个 table 进行操作(比如相加)。
因此 Lua 提供了元表(Metatable),允许我们改变 table 的行为,每个行为关联了对应的元方法。

  1. setmetatable(table,metatable): 对指定 table 设置元表(metatable),如果元表(metatable)中存在 __metatable 键值,setmetatable 会失败。
  2. getmetatable(table): 返回对象的元表(metatable)。

原表的定义

mytable={}      --普通表
mymetatable={}  --元表
setmetatable(mytable,mymetatable) --将mymetatable设置为mytable的原表--可简写如下:
mytable=setmetatable({},{})getmetatable(mytable) --会返回mytable的元表

原表的应用

1. 变量赋值
解析如下:

mymetatable={}
mytable=setmetatable({k1="v1"},{__newindex=mymetatable})mytable.newkey="v2"
print(mytable.newkey,mymetatable.newkey)
--输出:nil   v2  :普通表中不含“newkey”,会调用元方法mytable.k1="newV"
print(mytable.k1,mymetatable.k1)
--输出:newV   nil :普通表中含有K1,会进行赋值,不再调用元方法

2.元方法调用函数

mytable=setmetatable({k1="v1"},{__newindex=function(mytable,k,v)--重写元方法rawset(mytable,k,"\""..v.."\"")--rawset绕过原表机制,直接向原表中插入新键值对end})mytable.k1="new v1";mytable.k2=3;--由于初始表中不k2,则会向元表中查询元方法print(mytable.k1,mytable.k2);--输出:v1   "3"

3.合并元表

function table_max(t)--获取原表最大键--用“#”或者table.getn时,若键不连续,只会获取第一段的最大值maxk=0;for k,v in pairs(t) doif type(k)=="number" and k>maxk thenmaxk=kendendreturn maxk
end--实现两表合并
mytable=setmetatable({1,2,3},{__add=function(mytable,newtable)local mytable_maxk=table_max(mytable)for i=1,table_max(newtable) --遍历newtabletable.insert(mytable,mytable_maxk+i,newtable[i])--将newtable中的数据插入到mytable中endreturn mytableend})newtable={4,5,6}
mytable=mytable+newtablefor k,v in pairs(mytable) doprint(k.."--"..v)
end
元方法运算操作
__add“+”
__sub“-”
__mul“*”
__div“/”
__mod“%”
__unm“-”
__concat“…”
__eq“==”
__it“<”
__le“<=”

注:“__"两个下划线,__sub对应二元减(两个参数);__unm对应一元减(只有一个参数)。

http://www.dtcms.com/wzjs/132887.html

相关文章:

  • 小说网页网站建设杭州网站优化效果
  • 怎么做hs网站百度做免费推广的步骤
  • 做飞象金服的网站什么是百度搜索推广
  • 网站上写个招贤纳士怎么做淘宝关键词查询工具
  • 网站开发工程师符号代码北京网站seo公司
  • 网站ueogoogle谷歌搜索引擎
  • 上海论坛社区网络推广优化seo
  • 网站模板中文浙江seo
  • 如何向百度提交网站企业网站seo诊断工具
  • 广东品牌网站建设多少钱中文域名注册
  • 怎么做刷网站流量生意网络优化大师下载
  • 做ppt好的模板下载网站高端网站建设的公司
  • 武汉网站建设公司 排名大庆网络推广
  • 网站建设开发票写什么重庆网络推广专员
  • 980网站指数网站
  • 如何制作网站站点优化网站的目的
  • 商城网站建设分为几块苏州seo整站优化
  • 疫情最新数据情况seo站群优化技术
  • 金融公司网站模版网络推广的常用方法
  • 一起做业网站2021最新免费的推广引流软件
  • 橙子建站网页推广百度软文推广怎么做
  • 做淘宝客网站用什么系统新媒体运营岗位职责
  • 建设网站推广贷款业务seo优化需要多少钱
  • 网站做我女朋友怎么自己做网页
  • 嘉兴做企业网站的公司济南专业做网站
  • 做网站怎样设置搜索引擎seo营销方案
  • 网站建设公司六安百度站长工具域名查询
  • 建设金融网站哪家好免费建站平台哪个好
  • 创建一个网站需要做哪些准备网络小说排行榜
  • 网页设计与网站建设搜索引擎搜索器