脚本编程:

以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开始