Difference between revisions of "love.filesystem.getDirectoryItems (日本語)"
m |
m (→用例) |
||
Line 37: | Line 37: | ||
end | end | ||
</source> | </source> | ||
− | === | + | === すべてのファイルとフォルダ内のフォルダ、さらにそのサブフォルダを再帰的に検索して表示します。 === |
<source lang="lua"> | <source lang="lua"> | ||
function love.load() | function love.load() | ||
Line 46: | Line 46: | ||
-- 全てのファイルをファイルツリーとして表した文字列で返します。 | -- 全てのファイルをファイルツリーとして表した文字列で返します。 | ||
function recursiveEnumerate(folder, fileTree) | function recursiveEnumerate(folder, fileTree) | ||
− | local | + | local filesTable = love.filesystem.getDirectoryItems(folder) |
− | |||
for i,v in ipairs(filesTable) do | for i,v in ipairs(filesTable) do | ||
local file = folder.."/"..v | local file = folder.."/"..v | ||
− | + | local info = love.filesystem.getInfo(file) | |
− | fileTree = fileTree.."\n"..file | + | if info then |
− | + | if info.type == "file" then | |
− | + | fileTree = fileTree.."\n"..file | |
− | + | elseif info.type == "directory" then | |
+ | fileTree = fileTree.."\n"..file.." (DIR)" | ||
+ | fileTree = recursiveEnumerate(file, fileTree) | ||
+ | end | ||
end | end | ||
end | end | ||
Line 64: | Line 66: | ||
end | end | ||
</source> | </source> | ||
+ | |||
== 関連 == | == 関連 == | ||
* [[parent::love.filesystem (日本語)]] | * [[parent::love.filesystem (日本語)]] |
Latest revision as of 04:27, 30 June 2023
LÖVE 0.9.0 から使用可能 |
love.filesystem.enumerate から名称変更。 |
指定されたパスのファイルおよびサブディレクトリの名前をテーブルで返します。テーブルに対しては一切の並べ換えを行いません。順列はバラバラです。
パスとしてゲームおよびセーブ・ディレクトリとして存在するものが関数に渡された場合は、双方のファイルおよびディレクトリの場所の一覧を返します。
Contents
関数
概要
files = love.filesystem.getDirectoryItems( dir )
引数
string dir
- ディレクトリ。
返値
関数
LÖVE 0.9.1 まで使用可能でしたが LÖVE 0.10.0 で廃止されました |
この異形は以降のバージョンでは非対応です。 |
概要
files = love.filesystem.getDirectoryItems( dir, callback )
引数
返値
用例
簡単な用例
local dir = ""
-- 完全な LOVE のファイルがあるパスであると仮定します (この場合は最低でも main.lua が存在するはずです)。
local files = love.filesystem.getDirectoryItems(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 filesTable = love.filesystem.getDirectoryItems(folder)
for i,v in ipairs(filesTable) do
local file = folder.."/"..v
local info = love.filesystem.getInfo(file)
if info then
if info.type == "file" then
fileTree = fileTree.."\n"..file
elseif info.type == "directory" then
fileTree = fileTree.."\n"..file.." (DIR)"
fileTree = recursiveEnumerate(file, fileTree)
end
end
end
return fileTree
end
function love.draw()
love.graphics.print(filesString, 0, 0)
end
関連
そのほかの言語
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info