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

手机网站设计教育类模板鲜花销售网站模板

手机网站设计教育类模板,鲜花销售网站模板,网站架设地址,安卓手机app制作公司一、Lua数组 数组#xff0c;就是相同数据类型的元素按一定顺序排列的集合#xff0c;可以是一维数组和多维数组。 在 Lua 中#xff0c;数组不是一种特定的数据类型#xff0c;而是一种用来存储一组值的数据结构。 实际上#xff0c;Lua 中并没有专门的数组类型#xf…一、Lua数组 数组就是相同数据类型的元素按一定顺序排列的集合可以是一维数组和多维数组。 在 Lua 中数组不是一种特定的数据类型而是一种用来存储一组值的数据结构。 实际上Lua 中并没有专门的数组类型而是使用一种被称为 “table” 的数据结构来实现数组的功能。 Lua 数组的索引键值可以使用整数表示数组的大小不是固定的。 在 Lua 索引值是以 1 为起始但你也可以指定 0 开始。 一一维数组 一维数组是最简单的数组其逻辑结构是线性表。 使用索引访问数组元素 -- 创建一个数组local myArray {10, 20, 30, 40, 50}-- 访问数组元素print(myArray[1]) -- 输出 10print(myArray[3]) -- 输出 30要计算数组的长度即数组中元素的个数你可以使用 # 操作符 local myArray {10, 20, 30, 40, 50}-- 计算数组长度local length #myArrayprint(length) -- 输出 5array {Lua, Tutorial}for i 0, 2 doprint(array[i]) end正如你所看到的我们可以使用整数索引来访问数组元素如果指定的索引没有值则返回 nil。 除此外我们还可以以负数为数组索引值 array {}for i -2, 2 doarray[i] i *2 endfor i -2,2 doprint(array[i]) end二多维数组 多维数组即数组中包含数组或一维数组的索引键对应一个数组。 以下是一个三行三列的阵列多维数组 -- 初始化数组 array {} for i1,3 doarray[i] {}for j1,3 doarray[i][j] i*jend end-- 访问数组 for i1,3 dofor j1,3 doprint(array[i][j])end end不同索引键的三行三列阵列多维数组 -- 初始化数组 array {} maxRows 3 maxColumns 3 for row1,maxRows dofor col1,maxColumns doarray[row*maxColumns col] row*colend end-- 访问数组 for row1,maxRows dofor col1,maxColumns doprint(array[row*maxColumns col])end end1 2 3 2 4 6 3 6 9 二、Lua迭代器 迭代器iterator是一种对象它能够用来遍历标准模板库容器中的部分或全部元素每个迭代器对象代表容器中的确定的地址。 在 Lua 中迭代器是一种支持指针类型的结构它可以遍历集合的每一个元素。 一泛型 for 迭代器 泛型 for 在自己内部保存迭代函数实际上它保存三个值迭代函数、状态常量、控制变量。 泛型 for 迭代器提供了集合的 key/value 对语法格式如下 for k, v in pairs(t) doprint(k, v) end 上面代码中k, v为变量列表pairs(t)为表达式列表。 查看以下实例: array {Google, Runoob}for key,value in ipairs(array) doprint(key, value) end1 Google 2 Runoob 以上实例中我们使用了 Lua 默认提供的迭代函数 ipairs。下面我们看看泛型 for 的执行过程首先初始化计算 in 后面表达式的值表达式应该返回泛型 for 需要的三个值迭代函数、状态常量、控制变量与多值赋值一样如果表达式返回的结果个数不足三个会自动用 nil 补足多出部分会被忽略。 第二将状态常量和控制变量作为参数调用迭代函数注意对于 for 结构来说状态常量没有用处仅仅在初始化时获取他的值并传递给迭代函数。 第三将迭代函数返回的值赋给变量列表。 第四如果返回的第一个值为nil循环结束否则执行循环体。 第五回到第二步再次调用迭代函数 在Lua中我们常常使用函数来描述迭代器每次调用该函数就返回集合的下一个元素。Lua 的迭代器包含以下两种类型- 无状态的迭代器 - 多状态的迭代器二无状态的迭代器 无状态的迭代器是指不保留任何状态的迭代器因此在循环中我们可以利用无状态迭代器避免创建闭包花费额外的代价。 每一次迭代迭代函数都是用两个变量状态常量和控制变量的值作为参数被调用一个无状态的迭代器只利用这两个值可以获取下一个元素。 这种无状态迭代器的典型的简单的例子是 ipairs它遍历数组的每一个元素元素的索引需要是数值。 以下实例我们使用了一个简单的函数来实现迭代器实现数字 n 的平方 function iter (a, i)i i 1local v a[i]if v thenreturn i, vend endfunction ipairs (a)return iter, a, 0 end三多状态的迭代器 很多情况下迭代器需要保存多个状态信息而不是简单的状态常量和控制变量最简单的方法是使用闭包还有一种方法就是将所有的状态信息封装到 table 内将 table 作为迭代器的状态常量因为这种情况下可以将所有的信息存放在 table 内所以迭代函数通常不需要第二个参数。 以下实例我们创建了自己的迭代器 array {Google, Runoob}function elementIterator (collection)local index 0local count #collection-- 闭包函数return function ()index index 1if index countthen-- 返回迭代器的当前元素return collection[index]endend endfor element in elementIterator(array) doprint(element) end
http://www.pierceye.com/news/424968/

相关文章:

  • 高端网站建设公司兴田德润可以不新产品推广策划方案
  • 建设银行如何网站设置密码嵊州市建设银行网站
  • 陕西 网站建设福州mip网站建设
  • 让人做网站 需要准备什么网站建设国内外现状
  • 滨海做网站公司网页设计模板 中文
  • 辽源市网站建设怎么学做电商
  • 做pc端网站行情网站标签化
  • 中国做的很好的食品网站php图片网站源码
  • 做自媒体小视屏哪个网站好邹平网站建设公司
  • 字体样式 网站layui 网站建设模板
  • 沈阳网站设计江苏城乡建设部网站首页
  • 网站手机端生成wordpress如何下载
  • 网站数据抓取怎么做营销型网站开发定制
  • 福州营销型网站建设中国建设工程信息网站
  • 怎么在服务器里面做网站公司网站模板怎么做
  • 网站建设制作设计营销公司杭州石家庄网络公司哪家好
  • 重庆网站制作特点优势互联免费主机
  • 义乌网站制作多少钱wordpress有访客记录
  • 网站改版建议策划书百度搜索名字排名优化
  • 做药的常用网站wordpress加载js代码
  • 网站备案 通知杭州企业展厅设计公司
  • 简单个人网站开发代码广州白云区建设局网站
  • 网站空间控制面板软件做网站设计前景怎么样
  • 交流平台网站怎么做不了在家做网站编辑
  • 网站管理员登陆不了免费网页上传网站
  • 关于网站建设的英文歌外网设计素材网站
  • 中山比好的做网站的公司扫二维码直接进网站怎么做
  • 上海互联网网站建设东莞系统网站建设
  • 系部网站建设创新点外贸平台网站的营销方式
  • 做网站不给源代码吉林省招标网官方网站