今天看 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 时断开。
小伙伴们 明白了没。。我也是 初学者 ,一起进步!发现还有一篇文章写得不错,大家可以看看这里