LUA趣事之 for 语句

今天看 erlang  群里在讨论一个问题,我就演变成lua 进行看看,结果是这样的,直接上代码。

一:数字型 for

function   test1()
	for i = 1,3 do
		for i = 4,6 do
		print(i)
		end
	
	end
end

test1()

结果是什么呢?

4,5,6,     4,5,6,   4,5,6     

注意:for i 的i作用域属于for结构,为local变量;

local  a = 0;

local a ;

print(a)

此时输出什么呢?


二:泛型 for

先看下面这段代码:



执行的结果是什么呢?



为什么这样呢? 对与一个我初学者来说,不明白。

看看书上的概念吧:

泛型for 循环是通过迭代器函数来遍历所有值。(迭代器是啥呢?)

迭代器就是一种可以遍历集合中所有元素的机制。

好了,基本概念弄懂了,再看看ipairs 和 pairs 的区别吧。(参考自:http://www.92csz.com/00/1038.html)



看下面这个代码


是的,是没有输出。。

改成下面这样



它在 ipairs(tabFiles) 遍历中,当key=1时候value就是nil,所以直接跳出循环不输出任何值。 当存在 key = 1 时,输出值 test2,k = 2 时断开。

小伙伴们 明白了没。。我也是 初学者 ,一起进步!发现还有一篇文章写得不错,大家可以看看这里




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值