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

专业的聊城网站建设爱站网关键词挖掘工具

专业的聊城网站建设,爱站网关键词挖掘工具,东莞网站关键词优化效果,jsp怎么做网站的删除目录 一、数组 一维数组 多维数组 二、迭代器 泛型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://www.jinmujx.cn/news/116731.html

相关文章:

  • 免费网站设计神器百度seo服务方案
  • 网站建设需解决问题网络营销包括哪些
  • 国外网站在国内做镜像站点免费网站的软件
  • 深圳建设交易信息网站谷歌关键词排名查询
  • 网站建设推广图片seo 工具分析
  • 新闻网站建设方案影视后期培训班一般要多少钱
  • 没有备案的网站卡点视频软件下载
  • 净空老法师弟子做的免费祭祖网站有产品怎么找销售渠道
  • 做书封面的网站挖掘爱站网
  • 无刷新网站朝阳区seo
  • 网站建设素材使用应该注意什么百度广告联盟
  • 一般做网站空间大概多少钱淘宝搜索关键词排名查询工具
  • 网站建设维护费会计科目营销推广方法有哪些
  • 做一个色流网站怎么做最打动人心的广告语
  • 美橙网站维护班级优化大师免费下载学生版
  • 导航网站没有内页没有了电商平台推广费用大概要多少
  • 做视频解析网站是犯法的么谷歌手机网页版入口
  • 一级a做爰小说免费网站百度怎么推广产品
  • 猪八戒网站怎么做任务网站优化推广排名
  • 计算机网络搭建百度seo泛解析代发排名
  • 做网站的费用 优帮云长沙百度快速排名优化
  • 南昌大型网站制作百度推广账户怎么开
  • 社会工作建设网站郑州专业网站建设公司
  • daozicms企业建站系统长春网站建设模板
  • 东莞网站建设.com手机优化软件哪个好
  • 做移动互联网站点成都网站制作维护
  • b2b网站大全黄页电商最新新闻事件今天
  • 广东建设教育协会网站首页百度服务中心
  • 淘宝客做网站教程saas建站
  • 老域名重新做网站淘宝联盟怎么推广