love.filesystem.enumerate (Tiếng Việt)

Trả lại một bảng không theo trật tự, gồm các tên file cùng thư mục con có trong thư mục đã cho.

Lưu ý rằng thư mục đã cho này là tương đối so với thư mục hoặc file nén love được chạy. Sẽ không có tác dụng nếu cung cấp đường dẫn tuyệt đối.

Hàm

Tóm tắt

files = love.filesystem.enumerate( dir )

Tham số

string dir
Thư mục.

Kết quả trả lại

table files
Một dãy chứa tên của tất cả các file và thư mục con dưới dạng chuỗi kí tự.

Ví dụ

Ví dụ đơn giản

local dir = ""
--giả sử rằng đường dẫn hiện thời chứa nhiều file love (trong trường hợp này, ít nhất là có file main.lua)
local files = love.filesystem.enumerate(dir)
for k, file in ipairs(files) do
	print(k .. ". " .. file) --in ra kiểu như "1. main.lua"
end

Một cách đệ quy, hãy tìm ra và hiển thị tất cả các file và thư mục trong thư mục đã cho và các thư mục con của nó.

function love.load()
	filesString = recursiveEnumerate("", "")
end
 
-- Hàm này sẽ trả lại một chuỗi biểu diễn cây thư mục chứa tất cả các file
-- trong thư mục và các file trong thư mục con 
function recursiveEnumerate(folder, fileTree)
	local lfs = love.filesystem
	local filesTable = lfs.enumerate(folder)
	for i,v in ipairs(filesTable) do
		local file = folder.."/"..v
		if lfs.isFile(file) then
			fileTree = fileTree.."\n"..file
		elseif lfs.isDirectory(file) then
			fileTree = fileTree.."\n"..file.." (DIR)"
			fileTree = recursiveEnumerate(file, fileTree)
		end
	end
	return fileTree
end
 
function love.draw()
	love.graphics.print(filesString, 0, 0)
end

Xem thêm


Ngôn ngữ khác