love.filesystem.getDirectoryItems (Français)

Disponible depuis LÖVE 0.9.0
C'est un renommage de la fonction love.filesystem.enumerate.


Retourne une table comportant les noms des fichiers et sous répertoire d'un chemin donné. La table n'est pas triée, l'ordre est indéfini.

Si le chemin passé à la fonction existe dans le jeu et le dosser de sauvegarde, cette fonction listera les fichiers de ces deux endroits.

Fonction

Synopsis

files = love.filesystem.getDirectoryItems( dir )

Arguments

string (Français) dir
Le dossier.

Retourne

table (Français) files
Une séquence avec les noms de tous les fichiers et sous-dossier en tant que chaînes de caractères.

Fonction

Disponible depuis LÖVE 0.9.1 et supprimé avec LÖVE 0.10.0
ce-tte variant n'est pas supporté dans des versions antérieures ou postérieures.

Synopsis

files = love.filesystem.getDirectoryItems( dir, callback )

Arguments

string (Français) dir
Le dossier.
function (Français) callback
Une fonction appelée opur chaque fichier et sous-dossier dans le dossier. Le nom de fichier est passé à la fonction en tant qu'argument.

Retourne

table (Français) files
une séquence des noms de tous les fichiers et sous-dossiers en tant que chaînes de caractères.

Exemples

Exemple simple

local dir = ""
--On assume que le chemin est plein d'adorables fichiers (ils doivent au moins contenir main.lua dans ce cas)
local files = love.filesystem.getDirectoryItems(dir)
for k, file in ipairs(files) do
	print(k .. ". " .. file) --Affiche quelque chose comme « 1. main.lua »
end

Trouve récursivement et affiche tous les fichiers et sous-dossier d'un dossier et de ses sous-dossiers.

function love.load()
	filesString = recursiveEnumerate("", "")
end

-- Cette fonction retournera une chaîne d’arborescence de tous les fichiers
-- contenu dans les dossiers et fichiers de tous les sous-répertoires.
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

Voir également


Autres langues