Lua学习笔记1 基础语法

简单语法这里不写,只做一些比较重要的部分。
1、字符串
字符串的链接使用… ,来表示
#“abc” 表示输出"abc"字符串的长度
“1”+“2”lua会计算出答案,输出3

2、元表metatable
如果__index是一个表的话,那么当前表中没有键的时候,回去__index表中找

local a = {c = 1}
a.__index = {b = "3"}
function TestClass()
	local tt = {}
	setmetatable(tt,a)
	
	print(tt.b)
end

3、self用法
在函数调用的时候有时候会考虑到直接引用自身,这里就会涉及到函数声明和函数调用时候的点和冒号的使用。

看下面的代码

local ta = {c = 1}

function ta:new(tc)
	local b = {}
	setmetatable(b,self)
	self.__index = self
	b.c = tc
	return b
end


function ta:printc()
	print("c = ",self.c)
end

s = ta:new(2)

s:printc()

第二段

local ta = {c = 1}

function ta.new(self,tc)
	local b = {}
	setmetatable(b,self)
	self.__index = self or 0
	b.c = tc
	return b
end

function ta.printc(self)
	print("c = ",self.c)
end

s = ta.new(ta,2)

s.printc(s)

这里可以看到,首先运行结果是一样的,同时第二段使用了点,和第一段不同的是,第二段在函数调用和函数声明的时候都省略了self的变量。也就是说如果直接使用冒号,那么意思是可以省略self的使用,直接将调用对象作为隐藏参数self调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值