1、迭代器和闭包

迭代器是一个允许在集合元素的迭代。lua中用函数来表示迭代。迭代器需要记录一些状态。闭包提供了一些机制来记录状态。

闭包是可以访问一个或者多个来自于闭包环境的本地变量。变量用于在连续调用闭包时保持其值。闭包涉及到两个函数,一个是闭包本身,另一个是创建闭包及本地变量的工厂函数。

2、通用for语义

通用for保持三个变量:迭代函数,不变状态,控制变量。其语法为

for var-list in exp-list do

body

end

var-list是一个或者多个变量名列表,由分号分割。exp-list是一个或者多个表达式的列表,也是由分号分割。通常表达式列表只包含一个元素,是对迭代工厂方法的调用。

var-list列表中的第一个为控制变量,其不会为nil。

for做的第一件事是计算in之后的表达式,返回由for保持的三个值:迭代函数,不变状态,控制变量的初始值。初始化后,for调用两个参数的迭代函数(不变状态和控制变量)。

lua学习笔试之迭代器和通用for相关推荐

  1. lua 学习笔记---游戏开发第一步

    lua 学习笔记-从数组开始 数组 数组大小范围不一定需要在声明是确定,可以改变 一维数组 例 > array = {"Lua", "lualu"} &g ...

  2. Lua语言基础入门 (Lua学习一)

    Lua语言快速入门 这篇博客主要是简单的讲解一下Lua的基础知识,涉及的东西不是很深,提供一些学习的思路,对具体的技术不展开介绍,网上资料很多写的都比我好,仅仅为了使用Lua,而不是做基于Lua的项目 ...

  3. Lua学习笔记6:C++和Lua的相互调用

    曾经一直用C++写代码.话说近期刚换工作.项目组中的是cocos2dx-lua,各种被虐的非常慘啊有木有. 新建cocos2dx-lua项目.打开class能够发现,事实上就是C++项目啦,只是为什么 ...

  4. lua学习:使用Lua处理游戏数据

    在之前lua学习:lua作配置文件里,我们学会了用lua作配置文件. 其实lua在游戏开发中可以作为一个强大的保存.载入游戏数据的工具. 1.载入游戏数据 比如说,现在我有一份表单: data.xls ...

  5. Lua学习笔记(2)

    前段时间忙于其他事,没有继续Lua的学习,现在继续我们的Lua学习吧. 首先先推荐一本书<Programming in Lua>中文版名称<Lua编程>,这本书从最基础的部分开 ...

  6. C++学习基础三——迭代器基础

    C++学习基础三--迭代器基础 迭代器分为两种:一种是iterator,另一种是const_iterator. 两者都可进行访问容器中的元素,不同之处是: (1)const_iterator类型只能用 ...

  7. Lua 学习笔记(一)

    Lua学习笔记 1.lua的优势 a.可扩张性     b.简单     c.高效率     d.和平台无关 2.注释 a.单行注释 --        b.多行注释 --[[  --]] 3.类型和 ...

  8. 【lua学习】3.字符串

    [lua学习]3.字符串 Lua字符串的概况 字符串实现 字符串结构TString 全局字符串表stringtable 新建字符串luaS_newlstr (先查表,再决定创建与否) 新建字符串 ne ...

  9. 【lua学习】2.数据类型

    [lua学习]2.数据类型 Lua中的数据类型 关于TValue自顶向下分析 TValue表示所有的Lua数据结构并带一个类型字段 Value表示所有的Lua数据结构 GCObject表示所有需要进行 ...

最新文章

  1. 普度网络营销策划_普度网络营销策划-齐宁_新浪博客
  2. 插值算法C实现(一元全区间)
  3. 【Android 插件化】Hook 插件化框架 ( Hook Activity 启动过程 | 静态代理 )
  4. Python 技巧篇 - 英文单词首字母大小写转换功能实例演示,字符串切片实现
  5. 删除文件夹时需要SYSTEM权限,简单解决
  6. SiftingAppender:将不同的线程记录到不同的日志文件中
  7. 2016 hctf fheap 题解
  8. 理性分散投资 收益袋袋平安
  9. vue中两种路由跳转拼接参数
  10. 门当户对的感情真的很重要吗?
  11. 人工智能与深度学习概念(5)——目标检测-RCNN
  12. auth php rbac,php中比rbac更好的权限认证的方式auth认证类
  13. TCP协议-socket通信
  14. 单总线CPU微程序条件判别测试逻辑
  15. matlab 双均线,双均线策略
  16. echarts+DataV的用法
  17. ReadingTime-十二月
  18. (03)_k8s之flannel三种模型安装部署详解
  19. Matlab获取tif各格点经纬度
  20. oracle税务运维脚本练习,荣欣Linux运维+Oracle DBA初级+高级全套实战训练

热门文章

  1. Git 学习(二)版本库创建
  2. C#基础语法(第三天)
  3. python怎么读文件后删去空格以行为单位进行排序-python 大文件以行为单位读取方式比对...
  4. python官网怎么下载安装-Python怎么下载安装
  5. python能做表格吗-零基础小白怎么用Python做表格?
  6. python编程工资-2019年Python就业薪资怎么样?看完你就了解了
  7. 2!=5 or 0在python中是否正确-python 中 and or
  8. python3读取excel数据-python3读取Excel数据
  9. python七段数码管设计图案-Python 七段数码管绘制
  10. 用python画玫瑰花代码-python绘制玫瑰的实现代码