Lua----注意事项

前言:Lua相对一般的语言相对简单,有c基础看一遍就差不多了。一般的代码都能够看懂。但是Lua也有一些自己的特点,区别与其他语言,这里需要注意一下。

1.数组下标

  在Lua中数组下标是从1开始计数的。

  在初始化一个数组的时候,若不显示的使用键值对的方式赋值,则会默认用数字作为下标,从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.局部表变量

Lua中的局部变量要用local关键字来显示定义,不用local显示定义的变量就是全局变量。

局部变量有作用域,这个和C语言类似

模块中应尽量不要出现全局变量

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模块