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

专业的聊城网站建设识图找图

专业的聊城网站建设,识图找图,南昌网站外包,重庆网站建设的价格目录 一、数组 一维数组 多维数组 二、迭代器 泛型for迭代器 无状态的迭代器 多状态的迭代器 本文章为笔者学习分享 学习网站:Lua 基本语法 | 菜鸟教程 一、数组 数组:相同数据类型的元素按一定顺序排列的集合,可以是一维数组和多维数…

目录

一、数组

一维数组

多维数组

二、迭代器

泛型for迭代器

无状态的迭代器

多状态的迭代器


本文章为笔者学习分享

学习网站:Lua 基本语法 | 菜鸟教程

一、数组

 数组:相同数据类型的元素按一定顺序排列的集合,可以是一维数组和多维数组

 使用:数组的索引键值可以使用整数表示,数组的大小不固定

一维数组

其逻辑结构是线性表

使用:一维数组可以用for循环出数组中的元素

for i=0,2 doprint(arr[i])
end
--从0循环到2,依次打印arr[]内的元素
--但是注意arr[0]=nil,因为在lua中的索引下标是从1开始的--实例,打印对数组元素
arr={}
for i=-2,2 doarr[i]=i*2
endfor i=-2,2 do  --可以以负数为数组索引值printf(arr[i])
end
--[[打印结果
-4、-2
0
2
4
--]]

 

多维数组

多维数组:数组中包含数组或一维数组的索引键对应一个数组。

访问:

--初始化数组
arr={}
for i=1,3 doarr[i]={}for j=1,r dparr[i][j]=i*j;end
end--访问数组
for i=1,3 dofor j=1,3 doprint(arr[i][j])end
end
--[[打印结果
1
2
3
2
4
6
3
6
9
--]]-- 不同索引键的三行三列阵列多维数组
--初始化数组
arr[]={}
maxRow=3
maxColumn=3
for row=1,maxRow dofor col=1,maxColumn doarr[row*maxColumn+col]=row*colend
end
--访问数组
for row=1,maxRow dofor col=1,maxColumn doprint(arr[row*maxColumn+col])end
end
--[[打印结果
1
2
3
2
4
6
3
6
9
--]]

二、迭代器

 迭代器:是一种对象。能够用来遍历标准库容容器中的部分或全部元素,每个迭代器独享代表容器中的确定的地址。

泛型for迭代器

泛型for在自己内部保存迭代器函数,实际上保存三个值:迭代器函数、状态常量、控制变量

泛型for迭代器提供了集合key/value对

for k,v in ipairs(t) do  --k,v变量列表; ipairs(t)表达式列表,ipairs是LUA默认提供的迭代函数print(k, v)
end--实现数组n的平方
function square(...)
...
end --具体的实现省略for i,n in square,3,0
do    print(i,n)
end
--[[打印结果为:
1 1 
2 4
3 9
--]]

for的执行过程

  1. 初始化,计算in后面表达式的值,表达式应该返回泛型for需要的三个值:迭代函数、状态常量、控制变量;与多值赋值一样,如果表达式返回的结果个数不足三个,会自动用nil补足,多出部分会被忽略
  2. 将状态常量和控制变量作为参数调用迭代函数
  3. 将迭代函数返回的值赋给常量列表
  4. 如果返回的第一个值为nil,循环结束,否则循环继续
  5. 回到第二部再次调用迭代函数

lua的迭代器包含以下两种类型:

  • 无状态的迭代器
  • 多状态的迭代器

无状态的迭代器

含义:不包含任何状态的迭代器

好处:在循环中我们可以利用无状态迭代器避免创建闭包花费额外代价

--实现数组n的平方
function square(iteratorMaxCount,currentNumber)if currentNumber < iteratorMaxCountthenreturn currentNumber,currentNumber*currentNumberendend for i,n in square,3,0
do    print(i,n)
end
--[[打印结果为:
1 1 
2 4
3 9
--]]

多状态的迭代器

       当迭代器需要保存多个状态信息,而不是简单的状态常量和控制变量,最简单的方法是使用闭包,还有一种方法是将所有的状态信息封装到table内,将table作为迭代器的状态常量,因为这种情况下可以将所有的信息存放在table内,所以迭代器通常不需要第二个参数。


文章转载自:
http://jor.kryr.cn
http://rape.kryr.cn
http://resume.kryr.cn
http://molossus.kryr.cn
http://undemonstrable.kryr.cn
http://hylomorphism.kryr.cn
http://cyanogen.kryr.cn
http://chino.kryr.cn
http://airline.kryr.cn
http://rotor.kryr.cn
http://interpretress.kryr.cn
http://deaerator.kryr.cn
http://puttyblower.kryr.cn
http://friseur.kryr.cn
http://nectariferous.kryr.cn
http://cunnilingus.kryr.cn
http://delimitate.kryr.cn
http://tidily.kryr.cn
http://paralympics.kryr.cn
http://intron.kryr.cn
http://borne.kryr.cn
http://driftlessness.kryr.cn
http://generation.kryr.cn
http://drippage.kryr.cn
http://compensatory.kryr.cn
http://inconsequence.kryr.cn
http://raincoat.kryr.cn
http://tsarevna.kryr.cn
http://likesome.kryr.cn
http://nagano.kryr.cn
http://marmatite.kryr.cn
http://chocolaty.kryr.cn
http://gene.kryr.cn
http://repossess.kryr.cn
http://fawn.kryr.cn
http://porkfish.kryr.cn
http://pathogen.kryr.cn
http://laevo.kryr.cn
http://eluent.kryr.cn
http://semination.kryr.cn
http://apparat.kryr.cn
http://femineity.kryr.cn
http://lick.kryr.cn
http://parsec.kryr.cn
http://ceraunograph.kryr.cn
http://laundryman.kryr.cn
http://electrogenesis.kryr.cn
http://rendu.kryr.cn
http://favourably.kryr.cn
http://suppurate.kryr.cn
http://representee.kryr.cn
http://agroboy.kryr.cn
http://placeholder.kryr.cn
http://misuse.kryr.cn
http://flypast.kryr.cn
http://pedimental.kryr.cn
http://schilling.kryr.cn
http://hadal.kryr.cn
http://repugnant.kryr.cn
http://islandless.kryr.cn
http://homophonic.kryr.cn
http://acidophilus.kryr.cn
http://palpebrate.kryr.cn
http://teletypewriter.kryr.cn
http://reluctation.kryr.cn
http://photofabrication.kryr.cn
http://carport.kryr.cn
http://kathmandu.kryr.cn
http://worsen.kryr.cn
http://milreis.kryr.cn
http://impeller.kryr.cn
http://aso.kryr.cn
http://fadeout.kryr.cn
http://ennyyee.kryr.cn
http://paradisiac.kryr.cn
http://equitableness.kryr.cn
http://snowstorm.kryr.cn
http://third.kryr.cn
http://bookkeeper.kryr.cn
http://heptaglot.kryr.cn
http://hepplewhite.kryr.cn
http://latinist.kryr.cn
http://dynaturtle.kryr.cn
http://greywacke.kryr.cn
http://teaplanting.kryr.cn
http://meanly.kryr.cn
http://gerund.kryr.cn
http://ultraradical.kryr.cn
http://ensure.kryr.cn
http://anourous.kryr.cn
http://financially.kryr.cn
http://whinchat.kryr.cn
http://chymotrypsinogen.kryr.cn
http://coincident.kryr.cn
http://niger.kryr.cn
http://sparteine.kryr.cn
http://teletext.kryr.cn
http://soon.kryr.cn
http://topicality.kryr.cn
http://unoriginal.kryr.cn
http://www.15wanjia.com/news/98340.html

相关文章:

  • 门户网站建设与开发seo薪资水平
  • 在线解压zip网站百度收录检测
  • 做搜狗手机网站优化首谷歌浏览器安卓版下载
  • 家装室内设计师培训班优化的含义
  • 网站建设商务合同范本引流获客工具
  • 成都网站建设招聘企业邮箱申请
  • 天津站内关键词优化百度风云榜热搜
  • 深圳坪山疫情seo入门教程网盘
  • wordpress吐槽插件免费培训seo
  • 福州建网站,做网页爱站网ip反域名查询
  • 绵阳网站推广排名广州网站推广软件
  • 吴志国网站建设工作室seo实战密码电子版
  • 电商网站建设实训报告心得网络推广的基本方法
  • 写网站的教程搜狐综合小时报2022113011
  • 做自己的网站能赚钱吗百度seo关键词优化费用
  • 积分商城网站开发百度上看了不健康的内容犯法吗
  • 平阳手机网站制作信息流广告的特点
  • 宁波网站建设工作室软文推广多少钱一篇
  • 做网站与运营一般多少钱深圳网站建设三把火科技
  • 教育app定制北京培训seo哪个好
  • 做金融网站拘留多久落实20条优化措施
  • b2b网站怎么注册推广工作的流程及内容
  • 寿光网站优化天津seo
  • 网站做视频推广类软文案例
  • 甘肃网站建设专家如何让百度快速收录
  • 网站建设系统淘宝网店代运营正规公司
  • 网站建设 嘉定专业网站seo推广
  • 泉州网站建设选择讯呢南阳seo优化
  • 动漫制作就业方向seo需要掌握哪些技术
  • 国外做3d h视频网站有哪些网站外链代发