love.filesystem.getDirectoryItems
Доступно начиная с LÖVE 0.9.0
Было переименовано из love.filesystem.enumerate.
Возвращает таблицу с именами файлов и подкаталогов в указанном пути. Таблица не отсортирована; порядок неопределен.
Если путь, переданный функции, существует в игре и каталоге сохранений, он будет перечислять файлы и каталоги из обоих мест.
Функция
Синтаксис
files = love.filesystem.getDirectoryItems( dir )
Аргументы
string dir- Каталог.
Возвращаемое значение
table files- Последовательность с именами всех файлов и подкаталогов в виде строк.
Функция
Доступно начиная с LÖVE 0.9.1 и удалено в LÖVE 0.10.0
Этот вариант не поддерживается в более ранних или более поздних версиях.
Синтаксис
files = love.filesystem.getDirectoryItems( dir, callback )
Аргументы
string dir- Каталог.
function callback- Функция, которая вызывается для каждого файла и папки в каталоге. Имя файла передается функции в качестве аргумента.
Возвращаемое значение
table files- Последовательность с именами всех файлов и подкаталогов в виде строк.
Примеры
Простой пример
local dir = "" --assuming that our path is full of lovely files (it should at least contain main.lua in this case) local files = love.filesystem.getDirectoryItems(dir) for k, file in ipairs(files) do print(k .. ". " .. file) --outputs something like "1. main.lua" end
Рекурсивный поиск и отображение всех файлов и папок в папке и ее подпапках.
function love.load()
filesString = recursiveEnumerate("", "")
end
-- This function will return a string filetree of all files
-- in the folder and files in all subfolders
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 См. также
© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/love.filesystem.getDirectoryItems