Lua学习日记二
来源:互联网 发布:网易邮箱数据泄露 编辑:程序博客网 时间:2024/06/06 00:30
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学习日记二
- Lua学习日记1
- Lua学习日记一
- DODS学习日记(二)
- “指针”学习日记(二)
- android学习日记二
- MySQL++学习日记(二)
- Arduino学习日记二
- lua学习(二)
- Lua学习笔记二
- Lua学习笔记二
- Lua学习二
- Lua学习二
- lua学习初探【二】
- Lua学习二
- Lua基础学习(二)
- lua 学习笔记 二
- Lua学习二
- leetcode 357. Count Numbers with Unique Digits
- sql优化的几种方法
- windows 下 激活TensorFlow环境以及包安装,pycharm安装
- node.js模块学习(三) http
- python序列化存储模块:Pickle
- Lua学习日记二
- 自己写的QSS编辑器
- JDBC
- SQL学习笔记(基础部分)
- 模糊查询
- matlab中 内部矩阵维度必须一致,矩阵维度必须一致 的意思与区别
- 欢迎使用CSDN-markdown编辑器
- 颜色
- 《SSO系列三》CAS集群部署时session异常