love.filesystem.getDirectoryItems (한국어)

Available since LÖVE 0.9.0
It has been renamed from love.filesystem.enumerate.


특정 디렉토리 내에 있는 모든 파일과 하위 디렉토리를 나열한 테이블을 리턴합니다. 테이블은 정렬되어 있지 않습니다.

.love 압축 파일과 세이브 디렉토리 둘다 파일이 존재할 경우 두 군데에서 전부 다 가져옵니다.

함수

형식

files = love.filesystem.getDirectoryItems( dir )

매개변수

string (한국어) dir
살펴볼 디렉토리.

리턴값

table (한국어) files
모든 파일과 하위 디렉토리가 있는 테이블.

예제

간단한 예시

local dir = "" -- main.lua가 들어있는 루트 디렉토리를 조사합니다.
local files = love.filesystem.getDirectoryItems(dir)
for k, file in ipairs(files) do
	print(k .. ". " .. file) -- "1. main.lua" 비슷하게 출력됨
end

전체 파일을 재귀적으로 찾아 나열하기

function love.load()
	filesString = recursiveEnumerate("", "")
end
 
-- 이 함수는 모든 디렉토리에 있는 파일을 조사해 파일 트리를 만들어 리턴합니다.
function recursiveEnumerate(folder, fileTree)
	local lfs = love.filesystem
	local filesTable = lfs.getDirectoryItems(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

같이 보기

다른 언어