脚本编程:
以lua结尾,单行注释用 -- 多行注释用 --[[ 注释内容 --]] 或者 --[=[ 注释内容 ]=]
关键字 :and break do else elseif end false for function if in local nil not or repeat return then true until while
一般约定 下划线开头的大写字母的变量 用于表示lua内部全局变量。
数据类型:
nil 表示无效值 只有nil ,初始化未赋值和未声明的变量值均为nil;nil作比较是要加上单引号;将某一变量设置为nil,表示删除
boolean 包含false和true
number 表示双精度类型的实浮点数 默认数据类型为double 可以在luaconf.h中修改默认类型
string 字符串 双引号或者单引号括起来,也可以 [[ ]] 表示一块字符串;使用#计算字符串长度,#‘adaf’=4;当用数字字符串与数字做算术运算时会把数字字符串当做数字使用 ‘2’+2 结果为4
function 由c或lua编写的函数 ,函数存在变量中,可以赋值给其他变量,作为函数使用。可以使用匿名函数的方式进行参数传递
userdata 任意存储在变量中的c数据结构;userdata 是一种用户自定义数据,用于表示一种由应用程序或 C/C++ 语言库所创建的类型,可以将任意 C/C++ 的任意数据类型的数据(通常是 struct 和 指针)存储到 Lua 变量中调用。
thread 执行的独立线程,用于执行协调的程序;最主要的线程是协同程序(coroutine)。它跟线程(thread)差不多,拥有自己独立的栈、局部变量和指令指针,可以跟其他协同程序共享全局变量和其他大部分东西。线程跟协程的区别:线程可以同时多个运行,而协程任意时刻只能运行一个,并且处于运行状态的协程只有被挂起(suspend)时才会暂停。
table 在lua中table的创建通过构造表达式创建,最简单的构造为{},即创建一个空表 如 :a={ }或者a={“sa”,“ad”}直接初始化
表示的是关联数组, 索引可以是数字或者字符串 如
a[1]= 22; a["key"]="ss"
数字索引从1开始