Lua学习之旅

**

学习之中遇到的坑:

**
1、文件读入,file:read()返回的为string类型,虽然这个string可以和数字正常相加产生一个正常的结果。但是它就是一个string需要tonumber()去转成数字。
2、table的删除。

--正常的从table中删除
myTable = {10,20,20,20,30}

--删除value为20的值
for key,value in pairs(myTable) do
	if value == 20 then
		table.remove(myTable,key)
	end
end

--打印table
for _,value in pairs(myTable) do
	print(value)
end

--结果:10 20 30

从结果可以看来,并未正常删除所有的元素。因为删除后table后的元素会前移,所以导致并未删除干净。
解决:

myTable = {10,20,20,20,30}

--删除value为20的值
for i=#myTable,1,-1 do
	if myTable[i] == 20 then
		table.remove(myTable,i)
	end
end

--打印table
for _,value in pairs(myTable) do
	print(value)
end

--结果:10 30

此时表现结果为正常。

3、自己的锅。
总以为lua中即便不使用local,在函数内部的变量也会表现为local属性,实则不然。其表现属性仍为global。所以在以后的编程中不要吝啬自己的local,毕竟相比于C++已经已经少了很多的数据类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值