love.filesystem.enumerate (Português)

love.filesystem.enumerate


Removido no LÖVE 0.9.0
Foi renomeado para love.filesystem.getDirectoryItems.


Retorna uma tabela com os nomes de arquivos e subdiretórios do caminho especificado. A tabela não é organizada de modo nenhum; a ordem é indefinida.

Se o caminho dado à função existir nos diretórios de jogo e de escrita, serão listados arquivos e diretórios de ambos lugares.

Função

Sinopse

arquivos = love.filesystem.enumerate( dir )

Argumentos

string dir
O diretório.

Retorna

tabela arquivos
Uma sequência com os nomes de todos arquivos e subdiretórios como strings.

Exemplos

Exemplo Simples

local dir = ""
--supondo que nosso caminho esteja cheio de arquivos do LÖVE (neste caso, deve conter pelo menos o main.lua)
local arquivos = love.filesystem.enumerate(dir)
for k, arquivo in ipairs(arquivos) do
	print(k .. ". " .. arquivo) --imprime algo como "1. main.lua"
end

Encontrar recursivamente e exibir todos arquivos e pastas em uma pasta e suas subpastas.

function love.load()
	stringDeArquivos = enumerarRecursivamente("", "")
end

-- Esta função irá retornar um string contendo uma
-- árvore de arquivos com todos arquivos na pasta e
-- arquivos em todas subpastas
function enumerarRecursivamente(pasta, arvoreDeArquivos)
	local lfs = love.filesystem
	local tabelaDeArquivos = lfs.enumerate(pasta)
	for i,v in ipairs(tabelaDeArquivos) do
		local arquivo = pasta.."/"..v
		if lfs.isFile(arquivo) then
			arvoreDeArquivos = arvoreDeArquivos.."\n"..arquivo
		elseif lfs.isDirectory(arquivo) then
			arvoreDeArquivos = arvoreDeArquivos.."\n"..arquivo.." (DIR)"
			arvoreDeArquivos = enumerarRecursivamente(arquivo, arvoreDeArquivos)
		end
	end
	return arvoreDeArquivos
end
	
function love.draw()
	love.graphics.print(stringDeArquivos, 0, 0)
end

Veja Também


Outras Línguas