标准库提供了集中迭代器,包括迭代文件每行的(io.lines),迭代table元素的(pairs),迭代数组元素的(ipairs),迭代字符串中单词的 (string.gmatch)等等.LUA手册中对与pairs,ipairs解释如下: ipairs (t) Returns three values: an iterator function, the table t, and 0, so that the construction for i,v in ipairs(t) do body e…
ipairs (t) Returns three values: an iterator function, the table t, and 0, so that the construction for i,v in ipairs(t) do body end will iterate over the pairs (1,t[1]), (2,t[2]), ···, up to the first integer key absent from the table. pairs (t) Ret…
lua 中pairs 和 ipairs区别 标准库提供了集中迭代器,包括迭代文件每行的(io.lines),迭代table元素的(pairs),迭代数组元素的(ipairs),迭代字符串中单词的 (string.gmatch)等等.LUA手册中对与pairs,ipairs解释如下: ipairs (t) Returns three values: an iterator function, the table t, and 0, so that the construction for i,v…
local tmp_tab = {}; tmp_tab[]="lua"; tmp_tab[]="hello" tmp_tab[]="aaa" for k,v in pairs(tmp_tab) do print(k..v) print(v) end for k,v in ipairs(tmp_tab) do print(k..v) print(v) end pairs 循环表中的全部元素 ipairs只能循环下标为1开始连续的元素,遇到下标返…
先看一段简单的代码: local mytable = { , , aa = "abc", subtable = {}, , } --for循环1 print("for --- index") ,#mytable do print(i) end --for循环2 print("for ---- index-value") for i,v in ipairs(mytable) do print(i,v) end --for循环3 print(&quo…
ipairs 在迭代过程中是会直接跳过所有手动设定key值的变量.pairs不会跳过手动设置key值的变量. 实例 tab = {,,a="cd","d"} for i,v in pairs(tab) do print(i,v) end 输出 d a cd 实例 tab = {,,a="cd","d"} for i,v in ipairs(tab) do print(i,v) end 输出 d 如果遇到手动设置的key并且值为…