前言:Lua相对通常的语言相对简单,有c基础看一遍就差很少了。通常的代码都可以看懂。可是Lua也有一些本身的特色,区别与其余语言,这里须要注意一下。数组
1.数组下标函数
在Lua中数组下标是从1开始计数的。blog
在初始化一个数组的时候,若不显示的使用键值对的方式赋值,则会默认用数字做为下标,从1开始。如:作用域
local color={first="red", "blue", third="green", "yellow"} print(color["first"]) --> output: red print(color[1]) --> output: blue --没有显示的使用键值对的方式赋值,这里会默认用数字做为下标,从1开始 print(color["third"]) --> output: green print(color[2]) --> output: yellow print(color[3]) --> output: nil
2.局部表变量io
Lua中的局部变量要用local关键字来显示定义,不用local显示定义的变量就是全局变量。table
局部变量有做用域,这个和C语言相似function
模块中应尽可能不要出现全局变量class
3.判断数组的大小基础
注意!!必定不要使用#操做符来计算包含nil的数组长度变量
4.非空判断
1)对于简单类型的变量,能够用:
if (var == nil) then
2)对于table类型的变量,能够用:
if t == nil or _G.next(t) == nil then
5.函数在调用代码前定义
Lua里面的函数必须放在调用的代码以前,下面的代码是一个常见的错误:
local i = 100 i = add_one(i) local function add_one(i) return i + 1 end
6.抵制使用module()函数来定义Lua模块