lua入门学习总结

Lua入门总结

Lua安装步骤

  1. 官网下载地址地址: www.lua.org.
  2. 解压,make
  3. src文件夹下为lua源码。doc文件夹下为文档。bin文件夹下有两个可执行文件。
    lua文件是源代码,是文本文件,它不利于代码的保护。
    luac文件是经lua编译器翻译后的字节码文件,是二进制码文件,可直接分享它以利于源码的保护。

Lua基本语法

1.输出,注释

print('Hello lua!') --lua中双引号无区别
--单行注释
--[[  多行
	  注释 ]] 

2.变量定义(不用声明直接定义)

num = 100
local s = 'hello' --局部变量定义

3.函数定义以及条件语句

function max (a,b)
	if a>b then
		return a
	else
		return b
	end

4.循环语句

for var = 1,100 do
	print(var)
end

Lua基础之表

1.表的定义,插入,取值

Config = {}
Config.words="Hello" --插入方法一
Config.num=100
Config["name"]="Ryan"	--插入方法二
print(Config["words"])  --Hello
print(Config.name)   --Ryan

2.表的初始化,表的遍历

Config = {hello="Hello lua" ,world="World"}
for key,var in pairs(Config) do
	print(key,var)
end
--hello   Hello lua
--world   World

Lua基础之数组

1.数组的初始化,与遍历(注意lua中数组的索引从1开始

arr= {1,2,3,"Hello"}
for key,var in pairs(arr) do
	print(key,var)
end
-- 1   1
-- 2   2
-- 3   3
-- 4   Hello

2.简单数组方法(插入与计数)

arr= {1,2}
table.insert(arr,1,4) --参数1:插入数组 , 参数2:插入位置 ,参数3:插入值
--插入后数组值:arr={4,1,2}
print(table.maxn(arr)) --输出数组个数,3

Lua用复制表的方法实现面向对象

1.实现简单的面向对象类

People = {}
People.sayHi = function()
	print("People say Hello!")
end

2.实现类对象的创建

function clone(tab)
	local ins ={}
	for key,var in pairs(tab) do
		ins[key] =var
	end
	return ins
end
local p =clone(People) --得到People的对象

3.实现带参数的构造函数

People.new = function(name)
	local self = clone(People)
	self.name = name
	return self
end
local p =People.new('Fool')

4.调用类成员函数访问成员变量

People.sayHi=function(self)
	print("People say Hi:"..self.name)
end
p.sayHi(p) --调用成员函数方法一
p::sayHi() --调用成员函数方法二,默认将自己做为第一个参数传入

Lua用复制表的方法实现类的继承

1.实现继承类,以及继承类new成员的方法

function copy(dist ,tab) --将子类额外的元素添加到表中
	for key,var in pairs(tab) do
		dist[key]=var
	end
end

Man ={}
Man.new=function (name)
	local self = People.new(name)
	copy(self,Man)
	return self
end
local man=Man.new("Ji") --构造Man对象

2.子类重写父类方法

Man.sayHi=function(self)
	print("Man say Hello:"..self.name)
end
man::sayHi() --Man say Hello:Ji

Lua用函数闭包的方式实现面向对象

1.实现简单的类封装

function People(name)
	local self= {}
	local function init()
		self.name=name	--私有成员变量
	end
	self.age=100		--公有成员变量
	self.sayHi =function()
		print("Hello"..self.name)
	end
	init()
	return self
end
local p=People.new("Ji")
p::sayHi() --Hello Ji

Lua用函数闭包的方式实现类继承

1.继承类构造

function Man(name)
	local self= People(name)
	local function init()
		self.ManName=name	--私有成员变量
	end
	self.Manage=100		--公有成员变量
	self.sayHello =function()
		print("Hello"..self.ManName)
	end
	init()
	return self
end
local m=Man("Lisi")
m::sayHello()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值