Lua基础知识

一、注释
单行注释:–
多行注释:–[[ --]]

二、 输出:print

三、变量定义:local

local x = 100;
print(x);

四、数据类型: number , boolean,string,function,table,nil
type函数:用于查看数据类型

注意:把变量赋值为nil,就是释放内存。

local win = true;
local func = function()	
end
local tab={};

print(type(win));
print(type(func));
print(type(tab));

--输出结果:boolean function table

五、运算符
算数运算符: + - * / % = (没有 ++ – +=)
比较运算符:> < >= <=
逻辑运算符:and or not (相当于&& || !)

六、条件语句

if 条件 then
	--条件为真执行的代码
end
if 3>2 then
	print('成立');
end

七、while循环
输出1~100

local i = 1;
while i<=100 do
	print(i);
	i = i+1;
end

repeat 相当于 dowhile
输出1~10

local i = 1;
repeat
	print(i);
	i = i+1;
until i>10    //当i>10停止循环

八、for循环
输出0~100

for i = 1,100 do
	print(i);
end

倒序输出0~100·的偶数

for i = 100,1,-2 do
	print(i);
end

九、函数

function 函数名字(参数)

end
function printInfo(info)
	print(info);
end
--函数的调用
printInfo('函数执行结果');

函数可以作为变量

local printString = printInfo;
printString('函数作为变量');
function printInfo(info)
	print(info);
end

function func(callBack)
	for i = 1,100 do
		if i%10 == 0 then
			callBack('整十');
		end		
	end
end

func(printInfo);
--输出:10个整十

十、闭包

function func()
	local x = 1;
	function func1()
		x = x+1;
		return x;
	end
	return func1;
end

local func2 = func();
print(func2());--2
print(func2());--3
print(func2());--4
print(func2());--5

十一、表(键值对) 可以没有键
表里面元素访问 [‘属性’] 或 .属性

local student = {
	id = 100,
	name='超哥',
	grilFriend = '小可爱',
	age=1000;
	1,
	true,
	'我爱你'
}

print(student['id']);   --输出:100
print(student.id);   --输出:100

元素的修改

student.girlFriend = '最可爱的小可爱';
print(student.girlFriend);   --输出:最可爱的小可爱

十二、表的遍历
遍历所有

for k,v in pairs(student) do
	print(k,v);
end

Lua基础知识

只遍历数字的索引

for i,v in ipairs(student) do
	print(i,v)
end

Lua基础知识
. 和:的区别
如果参数有self,用.号调用,那么需要显示传入self;
用:调用,则不需要显示传入self指的对象。

local tab = {x=1};
tab.getX = function(self)   //self就是tab
	return self.x;
end

print(tab:getX());   --输出1
print(tab.getX(tab));   --输出1

十三、模块
另外写一个.lua模块
Lua基础知识
在lesson.lua中用require来拿到模块

local Module = require('Module');
print(Module.str);
print(Module.getPrivateStr());

Lua基础知识

上一篇:lua开始(一)


下一篇:redis实现分布式锁 商品秒杀lua脚本