协同程序(coroutine)与线程(thread)差不多,也就是一条执行序列,拥有自己独立的栈.局部变量和指令指针,同时又与其他协同程序共享全局变量和其他大部分东西.从概念上讲线程与协同程序的主要区别在于,一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作地运行.就是说,一个具有多个协同程序的程序在任意时刻只能运行一个协同程序,并且正在运行的协同程序只会在其显式地要求挂起(suspend)时,它的执行才会暂停. Lua将所有关于协同程序的函数放置在一个名为“coroutine…
1.1 程序块(chunk)每段代码(例如一个源代码文件或在交互模式中输入的一行代码),称为一个程序块.若使用命令行参数-i来启动Lua解释器,那么解释器就会在运行完指定程序块后进入交互模式.dofile()函数加载新代码.1.2 语法规范保留标识符“_”(一个下划线)作为“哑变量(Dummy Variable)”使用.在Lua中,“什么是字母”的概念依赖于区域设置(Locale).Lua区分大小写.行注释(--):块注释(以“--[[”开始,以“--]]”结束)1.3 全局变量全局变量(Glo…
Lua为面向对象式的调用也提供了一种特殊的语法——冒号操作符.表达式o.foo(o, x)的另一种写法是o:foo(x),冒号操作符是调用o.foo时将o隐含地作为函数的第一个参数.Lua可以调用C语言编写的函数.5.1 多重返回值(multiple results)Lua允许函数返回多个结果.Lua的几个预定义函数就是返回多个值的.例如,用于在字符串中定位一个模式(pattern)的函数string.find.该函数若在字符串中找到了指定的模式,将返回匹配的骑士字符和结尾字符的索引.在此就需要…
Lua中的常规语句包括:赋值.控制结构和过程调用.Lua还支持一些不太常见的语句,如:多重赋值(multiple assignment) 和 局部变量声明.4.1 赋值Lua允许“多重赋值”,也就是一下子将多个值賦给多个变量.每个值或每个变量之间以都好分隔.例如:a, b = 10, 2*x赋值后,变量a变为10,b变为2*x.在多重赋值中,Lua先对等号右边的所有元素求值,然后才执行赋值.这样便可以用一句多重赋值来交互两个变量了,如下所示:x, y = y, x             --…
3.1 算术操作符“+”(加法).“-”(减法).“*”(乘法).“/”(除法).“^”(指数).“%”(取模).3.2 关系运算符< > <= >= == ~=3.3 逻辑操作符and.or和not.有一种常用的Lua习惯写法“x=x or v”,它等价于: if not x then x = v end3.4 字符串连接使用操作符“..”(两个点).print("hello " .. "World")    --> Hello Wo…
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 4. 垃圾回收机制(Garbage Collection) 5. this关键字 6. static 关键字 7. 静态初始化块 8. 参数传值机制 9. 包 第5章 Java面向对象进阶 1. 继承 2. Object类 3. super关键字 4. 封装 5. 多态(polymorphism)…
技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com -------------------------------------------- 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)    a.注意"a",这里的a是字符串      'a'这的a是字符    b.转义符只针对程序中的字符串,对于程序读取的字符串就没有这个问题.    c.这说明转义符是和内存存储没有关系的,因为当程序读取字符…
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": "电脑","price":"1999"}, {"name": "鼠标", "price": "10"}, {"name": "游艇", &q…
RabbitMQ基础学习笔记(C#代码示例) 一.定义: MQ是MessageQueue,消息队列的简称(是流行的开源消息队列系统,利用erlang语言开发).MQ是一种应用程序对应用程序的通信方法.应用程序通过读写入队和出队的消息来通信,无需专用连接来链接它们. 消息传递是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,一般应用于远程过程调用的技术. 排队指的是应用程序通过队列来通信.应用队列避免接收和发送数据的同时进行. 二.特点: MQ是消费者-生产者模型的代表.一端往…
基础学习笔记之opencv(6):实现将图片生成视频 在做实验的过程中.难免会读视频中的图片用来处理,相反将处理好的图片又整理输出为一个视频文件也是非经常常使用的. 以下就来讲讲基于opencv的C++版本号中图片输出视频是怎么实现的. 本次试验的数据为摇摆的树枝树叶图片,Waving Trees,其来源网址为: http://research.microsoft.com/en-us/um/people/jckrumm/WallFlower/TestImages.ht 该数据全由bmp图片组成.…