love.filesystem.enumerate (日本語)

LÖVE 0.9.0 から廃止
love.filesystem.getDirectoryItems へ名称変更。


指定されたパスのファイルおよびサブディレクトリの名前をテーブルで返します。 テーブルに対しては一切の並べ換えを行いません。順列はバラバラです。

パスとしてゲームおよびセーブ・ディレクトリとして存在するものが関数に渡された場合は、双方のファイルおよびディレクトリの場所の一覧を返します。

関数

概要

files = love.filesystem.enumerate( dir )

引数

string dir
ディレクトリ。

返値

table files
sequence は全てのファイルおよびサブディレクトリの名前を文字列として返したものです。

用例

簡単な用例

local dir = ""
-- 完全な LOVE のファイルがあるパスであると仮定します (この場合は最低でも main.lua が存在するはずです)。
local files = love.filesystem.enumerate(dir)
for k, file in ipairs(files) do
	print(k .. ". " .. file) -- "1. main.lua" といったものが出力されます。
end

全てのファイルとフォルダ内のフォルダ、さらにそのサブフォルダを再帰的に検索して表示します。

function love.load()
	filesString = recursiveEnumerate("", "")
end
 
-- この関数は全てのサブディレクトリにあるフォルダおよびファイルといった
-- 全てのファイルをファイルツリーとして表した文字列で返します。
function recursiveEnumerate(folder, fileTree)
	local lfs = love.filesystem
	local filesTable = lfs.enumerate(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

関連



そのほかの言語