Lua 内table遍历 在lua中有4种方式遍历一个table,当然,从本质上来说其实都一样,只是形式不同,这四种方式分别是: 1. ipairs for index, value in ipairs(table) do end 注:这种方式的遍历只会从key为1的地方开始,一直以key递增1的顺序来遍历,若找到一个递增不是1的key就结束遍历,无论后面是否仍然是顺序的key. --Sample_1: local tab1 = { [] = , [] = , [] = , [] = , } f
'------------------------------------------- '获取某文件夹下所有文件和子目录下的文件 '------------------------------------------- Sub getAllFile() Cells.ClearContents , ) MsgBox "处理完成!" End Sub '------------------------------------------- '获取目标文夹路径 '--------------
--实现访问数组的迭代器 function visit(t) return function() i = i + return t[i] end end --要访问的数组 ,,,} itor = visit(tab) while true do local item = itor() if nil == item then break end print(item) end 执行结果:
, , , , , , , , , , , } , , } local j = 1 while i <= #aaa do if bbb[j] == aaa[i] then -- 如果 b下标元素 == a下标元素 table.remove(aaa, i) -- 删除 else i = i + -- 不等于 i + 1 end if i > #aaa then -- i > a下标时 i = j = j + end if j > #bbb then -- j 大于 b 下标时退出循环
首先用lua遍历目录: function getDirs(path) local s = {} function attrdir(p) for file in lfs.dir(p) do if file ~= "." and file ~= ".." then local f = p .. file local attr = lfs.attributes (f) if attr.mode == "directory" then table.ins
在windows下遍历目录使用lfs库:例如遍历整个目录下的所有文件 local lfs = require "lfs" function findPathName(path) local fileTbl = {} for file in lfs.dir(path) do if file ~= "." and file ~= ".." then fileTbl[#fileTbl + 1] = file end end re
看了不少人的,主要还是错误处理有点问题,不多说了 贴代码: require "lfs" function getpathes(rootpath, pathes) pathes = pathes or {} ret, files, iter = pcall(lfs.dir, rootpath) if ret == false then return pathes end for entry in files, iter do local next = false if entry ~=
require"lfs" function findindir (path, wefind, r_table, intofolder) for file in lfs.dir(path) do if file ~= "." and file ~= ".." then local f = path..'\\'..file --print ("/t "..f) if string.find(f, wefind) ~= nil th