Spec-Zone.ru › LÖVE

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

См. также

  • love.filesystem

© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/love.filesystem.getDirectoryItems

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API