Lua学习日记二
2017-11-23 12:04
211 查看
function(函数)
在Lua中,函数是被看作“第一类值(First class Value)”。函数可以存在变量里。function可以以匿名函数(anonymous function)的方式通过参数传递。
thread(线程)
在Lua中,最重要的线程是协同程序,它跟线程差不多,拥有自己独立的栈,局部变量和指令指针,可以跟其他协同程序共享全局变量和其他大部分东西。
userdata(自定义类型)
userdata是一种用户自定义数据,用于表示一种由应用程序C/C++语言库所创建的类型,可以将任意C/C++的任意数据类型的数据(通常是struct和指针)存储到Lua变量中调用。
Lua变量
变量在使用之前,必须在代码中声明,即创建该变量。Lua变量有三种类型:全局变量,局部变量,表中的域。
Lua中的变量全是全局变量,哪怕是语句块或是函数里,除非用local显式声明为局部变量。局部变量的作用域为从声明位置开始到所在语句块结束。
Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量。
例:a,b = 10,2*x <---> a=10;b=2*x
遇到赋值语句Lua会先计算右边所有的值,然后再执行赋值操作,所以我们可以这样进行交换变量的值。
例:x,y=y,x -----
swap "x" for "y"
a[i],a[j] = a[j],a[i]
------ swap"a[i]" for "a[j]"
当变量个数和值的个数不一致时,Lua会一直以变量个数为基础采取以下策略:
a.变量个数>值的个数
按变量的个数补足nil
b.变量个数<值的个数
多余的值会被忽略
应尽可能的使用局部变量,有2个好处:
1.避免命名冲突
2.访问局部变量的速度比全局变量更快
索引
对于table的索引使用方括号[ ],Lua也提供了“ . ”操作
t[i];
t.i-----当索引为字符串类型时的一种简化量
getable_event(t,i)-----采用索引访问本质上是一个类似这样的函数调用。
在Lua中,函数是被看作“第一类值(First class Value)”。函数可以存在变量里。function可以以匿名函数(anonymous function)的方式通过参数传递。
thread(线程)
在Lua中,最重要的线程是协同程序,它跟线程差不多,拥有自己独立的栈,局部变量和指令指针,可以跟其他协同程序共享全局变量和其他大部分东西。
userdata(自定义类型)
userdata是一种用户自定义数据,用于表示一种由应用程序C/C++语言库所创建的类型,可以将任意C/C++的任意数据类型的数据(通常是struct和指针)存储到Lua变量中调用。
Lua变量
变量在使用之前,必须在代码中声明,即创建该变量。Lua变量有三种类型:全局变量,局部变量,表中的域。
Lua中的变量全是全局变量,哪怕是语句块或是函数里,除非用local显式声明为局部变量。局部变量的作用域为从声明位置开始到所在语句块结束。
Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量。
例:a,b = 10,2*x <---> a=10;b=2*x
遇到赋值语句Lua会先计算右边所有的值,然后再执行赋值操作,所以我们可以这样进行交换变量的值。
例:x,y=y,x -----
swap "x" for "y"
a[i],a[j] = a[j],a[i]
------ swap"a[i]" for "a[j]"
当变量个数和值的个数不一致时,Lua会一直以变量个数为基础采取以下策略:
a.变量个数>值的个数
按变量的个数补足nil
b.变量个数<值的个数
多余的值会被忽略
应尽可能的使用局部变量,有2个好处:
1.避免命名冲突
2.访问局部变量的速度比全局变量更快
索引
对于table的索引使用方括号[ ],Lua也提供了“ . ”操作
t[i];
t.i-----当索引为字符串类型时的一种简化量
getable_event(t,i)-----采用索引访问本质上是一个类似这样的函数调用。
相关文章推荐
- Lua脚本学习日记-01 (又开新坑)
- Lua学习日记1
- 黑马程序员_Java学习日记2_面向对象总结1
- Java学习日记----异常
- JavaFX学习曲线日记-2:声明用户接口
- [传智播客学习日记]SqlHelper与DataSet
- STM32学习日记7.FLASH
- 黑马程序员——学习日记5 java面向对象基础
- Lua学习笔记8:文件读写
- Lua学习之从文件中找字符串
- 黑马程序员-高新JavaBean内省学习日记
- css学习日记
- Quick cocos2dx-Lua(V3.3R1)学习笔记(五)------创建精灵 菜单,让我们做个最简单的点击菜单显示精灵吧
- Java菜鸟学习日记16
- 算法学习--日记(牛顿迭代法)
- PetShop学习日记1——一般处理程序
- 日记--工作学习之路
- HTML和CSS学习日记之元素分类
- android学习日记(五):ViewPager详解上
- Lua 脚本 控制 XML配置 - 之Lua学习1 ( 多维嵌套表的 C API 交互)