您的位置:首页 > 编程语言 > Lua

LUA趣事之 for 语句

2016-03-16 21:52 381 查看
今天看 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 时断开。

小伙伴们 明白了没。。我也是 初学者 ,一起进步!发现还有一篇文章写得不错,大家可以看看这里
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: