Cash'yu

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

前言: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模块

 

posted on 2017-01-09 18:10  cmmkj  阅读(973)  评论(0编辑  收藏  举报