love.filesystem.getDirectoryItems (Português)

love.filesystem.getDirectoryItems


Disponível desde o LÖVE 0.9.0
Foi renomeado, antes era love.filesystem.enumerate.


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.getDirectoryItems( dir )

Argumentos

string dir
O diretório.

Retorna

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

Função

Disponível desde o LÖVE 0.9.1
Esta variante não é suportada em versões anteriores.

Sinopse

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

Argumentos

string dir
O diretório.
função callback
Uma função que é chamada para cada arquivo e pasta no diretório. O nome do arquivo é passado à função como um argumento.

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.getDirectoryItems(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.getDirectoryItems(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

Personal tools