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

网站标题空格西宁市城市道路建设规划网站

网站标题空格,西宁市城市道路建设规划网站,网站建设的基本步骤是,网站订单模板一、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.hkea.cn/news/14299523/

相关文章:

  • 如何做网站内容构架图企业官方网站开发外包
  • 深圳网站seo公司网站关键词的使用
  • 国内最大的自建站平台seo推广公司有哪些
  • 双流区的规划建设局网站做网站数据存在哪里
  • 外卖做的比较好的网站交互设计师和ui设计师的区别
  • 小型网站设计及建设网站策划培训
  • 佛山制作网站软件汕头网站制作开发
  • 网站开发及服务合同下列关于网站开发中网页额
  • 网站上线要多久深圳营销型网站建设公司网络服务
  • 东莞网站建设营销网站关键字排名查询工具
  • 网站模板设计师要求昆明有多少做网站的公司
  • 网站用品哪里进货好seo分析案例
  • flash网站建设教程wordpress分享获得优惠
  • 漳州市住房建设局网站郴州网站网站建设
  • 网站建设有什么服务推荐wordpress主题xiu
  • 如何在各大网站发布信息中山网上房地产
  • 静态网站如何做自适应移动端湖北省建筑信息平台
  • 郑州企业如何建网站公司网站建设项目详情
  • 渝北网站制作搭建网站需要什么语言
  • 计算机机应用网站建设与维护电商自学网
  • 建设明星网站的目的高校信息化建设网站系统微信
  • 响应式相册网站模板企业管理软件系统
  • 开篇网站推广深圳百度总部
  • 无锡百度竞价推广学习网站建设优化
  • 网站收录平台方法哪些做直播卖食品的网站有哪些
  • 三明网站seo汉化wordpress插件
  • 网站怎么做可以合法让别人充钱可以生成静态网站源码
  • 校园网站建设 方案论证深圳公司网站建设服务为先
  • 视频网站开发的论文响应式网站开发现状
  • 网站登录密码忘记了怎么办网站建站合同