love.filesystem.remove (日本語)

ファイルまたは空のディレクトリを削除します。

関数

概要

success = love.filesystem.remove( name )

引数

string name
削除したいファイルまたはディレクトリ。

返値

boolean success
true ならばファイル、ディレクトリは削除されており、それ以外は false です。

注釈

ディレクトリは削除前に必ず空にしなければ削除は失敗します。要するに事前にディレクトリ内の全てのファイルとディレクトリを削除してください。

ファイルがセーブ・ディレクトリではなく .love に存在するならば、同様に false を返します。

ファイルを開いているとファイルの削除を妨げる原因となります。削除するにはファイルを閉じてください。

用例

セーブ・フォルダー内にフォルダ群を作成して、なにかファイルがあるかもしれないがゲーム終了時に、それらを削除します。

function love.load()
    local dir = 'a';
    for _ = 1, 10 do
        dir = dir .. '/a';
    end
    love.filesystem.createDirectory(dir);
end

function love.quit()
    local function recursivelyDelete(item, depth)
        if love.filesystem.isDirectory(item) then
            for _, child in pairs(love.filesystem.getDirectoryItems(item)) do
                recursivelyDelete(item .. '/' .. child, depth + 1);
                love.filesystem.remove(item .. '/' .. child);
            end
        elseif love.filesystem.isFile(item) then
            love.filesystem.remove(item);
        end
        love.filesystem.remove(item)
    end

    recursivelyDelete('a', 0);
end

関連


そのほかの言語